Как добавить локальное изображение в моем расширении Firefox? - PullRequest
1 голос
/ 12 июня 2010

Я разрабатываю расширение для Firefox, создаю таблицу и добавляю в нее изображение, а также создаю изображение с: var _img = document.createElementNS ("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"," xul: image ");

и затем я обнаружил, что не могу установить его атрибут "src" с локальным изображением, как использовать его URL: chrome: \ ...., поэтому я должен найти его в веб-URL: http: \, но проблема возникает, когда http: \ не может быть просмотрено, как это сделать? если я могу установить атрибут изображения с локальным URL? Большое спасибо!

1 Ответ

3 голосов
/ 23 апреля 2011

В Firefox 3 и более поздних версиях chrome больше нельзя ссылаться на ресурсы из <img>, <script> или других элементов, содержащихся в контенте, который был загружен из ненадежного источника или добавлен в него. Это ограничение распространяется как на элементы, определенные ненадежным источником, так и на элементы, добавленные доверенными расширениями. Если такие ссылки необходимо явно разрешить, установите для флага contentaccessible значение yes, чтобы получить поведение, обнаруженное в более старых версиях Firefox.

Флаг contentaccessible применяется только к пакетам контента: он не распознается при регистрации локали или скина. Однако соответствующие пакеты локалей и скинов также будут подвержены воздействию контента.

n.b .: Поскольку более старые версии Firefox не понимают флаг contentaccessible, любое расширение, предназначенное для работы как с Firefox 3, так и с более старыми версиями Firefox, должно будет обеспечить запасной вариант.

Решение

Если ваше расширение имеет имя foo, а ваше изображение находится в chrome/content/bar.png, укажите в файле chrome.manifest следующее:

content foo chrome/content/
content foo chrome/content/ contentaccessible=yes

Теперь вы можете ссылаться на ваше изображение, используя

<img src="chrome://foo/content/bar.png">

-

Взято из https://developer.mozilla.org/en/chrome_registration#contentaccessible

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