Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Абсолютный путь к внешнему скрипту (https://javascript.ru/forum/misc/62183-absolyutnyjj-put-k-vneshnemu-skriptu.html)

kondr1 28.03.2016 16:12

Абсолютный путь к внешнему скрипту
 
Добрый день, у меня следующая проблема:
Мне необходимо подключить динамически скрипт из фс компа. Сейчас я пытаюсь это довольно жестко: document.body.innerHTML += "<script src='file://d:/js/common.js'></script>"
И, само собой, у меня ничего не работает. Как мне сделать такой финт ушами?

Upd: Удалось. Запустил хром с флагом --allow-file-access-from-files и использовал вот такую функу:
function injectScript(src, where) {
        var elm = document.createElement('script');
        elm.src = src;
        document[where || 'head'].appendChild(elm);
    }

Есть возможность обойти этот флаг режимом разработчика в расширениях? Открыть внешний файл каким-нибудь методом api?

laimas 28.03.2016 16:26

file://d:/js/common.js

kondr1 28.03.2016 16:38

Ты был близок, laimas:
Цитата:

VM602:5 Not allowed to load local resource: file:///D:/js/common.js
Хром все равно подставляет file:/// к адресу и выдает ошибку.

laimas 28.03.2016 16:47

Цитата:

Сообщение от kondr1
Хром все равно подставляет file:/// к адресу и выдает ошибку.

Так это что, попытка к сетевой странице подключить файл из файловой системы компьютера?

kondr1 28.03.2016 16:49

Именно. И в догонку еще вопрос. Могу ли я так открыть json файл из файловой системы компьютера?

laimas 28.03.2016 16:54

Не надо мешать котлеты с мухами, не даст вам браузер вольного доступа к файловой системе компьютера. Да и откуда веб приложение может знать, что у пользователя Х на диске D (может такого у него и нет совсем) в папке N лежит файл F?

kondr1 28.03.2016 17:33

Блин. Я бы с радостью в это не лез, просто мне надо тестировать некие скрипты для левого приложения которое работает с webkit. Я сначала подключал их просто через манифест дополнения хрома. Но при каждом изменении скрипта нужно лезть во вкладку "Расширения" и обновлять это расширение. Я подумал их подключать динамически вот таким вот образом. Подскажите тогда хоть как-то, как мне решить эту проблему что бы я не мешал котлеты с мухами.

Я пытаюсь заставить это расширение подхватывать изменения подключаемых скриптов при загрузке соответствующей страницы.

laimas 28.03.2016 17:50

Левое это какое?
Если все приложение это html-страничка, кто мешает отлаживать ее как локальную? Ради какого-то JSON наворачивать... так проще формой обычной получить с диска и делайте с ним что хотите.
Если веб приложение и какой JSON краеуголный (потребовалось же - через манифест дополнения хрома), кто мешает вам это вечный файл поместить на свой сервер подключая его постоянно при отладках?

kondr1 28.03.2016 18:03

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

Ладно. Я кручусь на месте. Вероятно мне нужно копать в сторону воркспейсов.


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