Вставить динамический скрипт в расширение Firefox - PullRequest
0 голосов
/ 02 августа 2011

Я делаю расширение сейчас, и у меня есть одна часть скрипта, которая является статической (никогда не изменится), и другая часть, которая загружается с веб-сайта.И я вижу 2 способа:

  1. Чтобы загрузить его с XMLHttpRequest и вставить в веб-страницу
  2. Чтобы поместить его как <script src="example.com/myscript.js"></script> и загрузить его сам

Но у второго способа, вероятно, не будет доступа к моему API расширения (к функциям, определенным в файлах расширений, т.е. в chrome://myext/script.js)

И, вероятно, первый способ будетнебезопасно, потому что мне придется оценить код в gBrowser.contentWindow.wrappedJSObject объекте, который является объектом Window для загруженной страницы

Есть идеи?

1 Ответ

0 голосов
/ 02 августа 2011

Вы говорите, что хотите, чтобы динамический скрипт имел привилегии chrome? Если это так, то почему бы не загрузить его с помощью XMLHttpRequest, сохранить его на диск и затем импортировать как модуль JavaScript (https://developer.mozilla.org/en/JavaScript_code_modules/Using). Очевидно, что существуют соображения безопасности, поскольку вы предоставляете сценарию из Интернета практически неограниченные привилегии, но если вы контролируете Если вы действительно обеспокоены, вы можете использовать HTTPS для загрузки сценария, который защитит вас от перехвата трафика.

Если вы хотите, чтобы код выполнялся с правами доступа к контенту, но у вас был доступ к функциям в вашем chrome JavaScript, то, возможно, вы захотите предоставить функции chrome контент, как описано в этой статье: http://weblogs.mozillazine.org/weirdal/archives/017188.html

...