Динамическая вставка скрипта с помощью Javascript - PullRequest
3 голосов
/ 24 февраля 2010

Короче говоря, я работаю над расширением Google Chrome. Расширения не имеют доступа к переменным в области видимости страницы, с которой они работают по умолчанию (вам нужно общаться через DOM).

Что я пытаюсь сделать, это вставить скрипт на страницу; это прекрасно работает, определяя тег script и атрибут src.

Проблема в том, что этот скрипт требует предварительной инициализации переменной. Чтобы инициализировать эту переменную, я пытаюсь создать элемент скрипта с встроенным кодом (а не загруженным из внешнего источника), но у меня возникают проблемы с его работой.

Возможно ли это, и если да, то как мне определить источник внутри скрипта? Я попытался добавить текстовый узел, содержащий исходный код JS, к элементу script, но безрезультатно.

1 Ответ

1 голос
/ 24 февраля 2010

Это отстой, но лучший способ сделать это, вероятно, передать ваши данные, введя их в DOM: http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication

Вы также можете сделать это, выполнив что-то вроде:

var script = document.createElement('script');
script.type = 'text/javascript';
script.text = 'alert("It works!");';
document.head.appendChild(script);

Я не проверял это, но, думаю, это будет работать из ваших скриптов контента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...