Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Адрес папки, в которую загружена HTML страница (https://javascript.ru/forum/events/70576-adres-papki-v-kotoruyu-zagruzhena-html-stranica.html)

Lun2 16.09.2017 18:15

Адрес папки, в которую загружена HTML страница
 
Здравствуйте!
Имеется страница, загруженная из Интернет. Я хочу добавить к ней свои функции, которые будут запускаться из закладки и что-то делать со страницей. Эти функции будут храниться в отдельном локальном файле. Для ссылки на них я добавляю элемент <script src=...> к body, который будет ссылаться на файл JS с функциями.

Вопрос1: каким образом я могу узнать, в какой временной папке хранится загруженная HTML-страница ? (чтобы подкинуть туда свой файл JS)

Вопрос2: может быть существует более простой путь внедрить свои функции в уже загруженную страницу ?

Здесь вариант запихать все функции в строку <script> ... </script> не подходит, т.к. их размер может быть велик - неудобно записывать через строку.

void() 16.09.2017 20:48

То есть вы хотите подключать на скачанную страницу свои функции с помощью букмарклета? Но зачем тогда закидывать файл со своими функциями в папку? Просто с помощью букмарклета подключайте свои функции динамически на страницу и все. Пусть ваш файл с функциями находится где-то в заранее определенном месте и вы можете спокойно подключить его одним щелчком мыши к любой странице - скачанной или нет.

Если вам очень нужно знать папку, то локальный путь, это в сущности URL страницы, который возвращает window.location.

alert(window.location);


Или я что-то не так понял?)

Lun2 17.09.2017 12:32

void(), window.location выдает что-то типа:
Location → https://javascript.ru/forum/events/7...-stranica.html
т.е. по сути это URL,
а в своем вопросе имел в виду путь к некоей временной папке на локальном диске: C:\..... и так далее, т.е. реальный путь к файлу.

То, что Вы предлагаете - подключить файл с функциями... - я с этого начал, но браузер упорно не хотел обращаться к локальному файлу в другом месте (т.е. на другом локальном диске).
Т.е. если я добавлял букмарклетом на страницу тестовую функцию типа
<script type =...> function abc(){alert('hello')}</script>, она добавлялась.
Когда я вручную добавлял ее в консоли : abc() - она вызывалась и из консоли и из другого букмарклета, который только вызывал abc(), нормально.

Если же я добавлял на страницу ссылку на функцию abc() во внешнем файле d:\a.js:
<script... src="file:///d:/a.js"> </script>

то этот тег также добавлялся, но при попытке вызвать ее из консоли она не вызвалась, браузер говорил, что не может найти abc... Уже переэкспериментировал с направлением слешей и их кол-вом :) но не смог подобрать вариант, чтобы abc() вызывалась из внешнего файла.
Из-за этого и появилась идея - узнать локальный путь НА ДИСКЕ и закинуть туда вручную a.js ().
Если бы мне подсказали, из-за чего не подключается внешний файл - это было бы здорово.

Lun2 23.09.2017 00:05

Прошу прощения за повтор, но все же - никто не подскажет как решить эту проблему (добавление своих скриптов на существующую загруженную в браузер страницу путем ссылки на внешний файл) ?

j0hnik 23.09.2017 00:13

поищите информацию по userscript
Если я вас правильно понял


Часовой пояс GMT +3, время: 14:26.