我正在开发一个firefox扩展并创建一个表,并在其中添加一个图像,我创建一个图像:var _img = document.createElementNS(“http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul ", " xul:image”);
然后我发现我无法使用本 Map 像设置其属性“src”,就像使用其Url:chrome:\ ....,所以我必须在网址中找到它:http:\,但是有问题会出现,当http:\无法访问时,该怎么办?如果可以使用本地URL设置图像的属性?非常感谢你!
1 回答
在Firefox 3以后,
chrome
资源无法再从<img>
,<script>
或从不受信任的来源加载的内容中包含或添加的其他元素中引用 . 此限制适用于由不受信任的源定义的元素和受信任的扩展添加的元素 . 如果需要明确允许此类引用,请将contentaccessible标志设置为yes以获取旧版Firefox中的行为 .contentaccessible标志仅适用于内容包:无法识别区域设置或皮肤注册 . 但是,匹配的区域设置和外观包也将暴露给内容 .
n.b . :因为旧版本的Firefox不理解contentaccessible标志,任何设计用于Firefox 3和旧版Firefox的扩展都需要提供后备 .
Solution
如果您的扩展名为
foo
且图像位于chrome/content/bar.png
,请在chrome.manifest
文件中添加以下内容:您现在可以使用参考图像
摘自https://developer.mozilla.org/en/chrome_registration#contentaccessible