如何在我的firefox扩展中添加本地图像?

时间:2010-06-12 03:43:38

标签: javascript firefox url firefox-addon

我正在开发一个firefox扩展并创建一个表,并在其中添加一个图像,我创建一个图像: var _img = document.createElementNS(“http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul”,“xul:image”);

然后我发现我无法使用本地图像设置其属性“src”,就像使用其Url:chrome:\ ....,所以我必须在网址中找到它:http:\,但是会出现问题,当http:\无法访问时,该怎么办?如果可以使用本地URL设置图像的属性?非常感谢你!

1 个答案:

答案 0 :(得分:3)

在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