如何在Firefox扩展中链接到内部图像
How can I link to an internal image within a Firefox extension?
我使用的是Firefox SDK。
下面的代码是有效的,所以至少我知道一切都按预期运行:
document.getElementById("mydiv").src="http://somesite/externalimage.jpg";
然而,Mozilla不批准我的扩展的这个版本,因为我正在链接到一个外部映像。
所以我要做的是链接到扩展插件内的图像(我上传了相同的图像到扩展插件)。
我尝试了以下代码,但没有成功。
document.getElementById("mydiv").src=" + data.url("externalimage.jpg") + ";
那么,如何链接到扩展中的图像呢?
首先,您的语法是错误的,这将出错。应该是:
document.getElementById("mydiv").src = data.url("externalimage.jpg");
您是否包括来自self的数据模块?
var data = require('sdk/self').data;
这是在什么背景下?您的主要SDK代码可以访问data.url函数,但如果这是在内容脚本中,您将无法访问它,您需要通过消息传入值
在main.js 中
// Assuming a pagemod here, but can be any worker
var data = require('sdk/self').data;
var { PageMod } = require('sdk/page-mod');
PageMod({
include: '*',
contentScriptFile: data.url('script.js'),
onAttach: function (worker) {
worker.port.emit('link', data.url('externalimage.png');
}
});
在内容脚本中,script.js:
self.port.on('link', function (url) {
document.getElementById("mydiv").src = url;
});
只需使用相对url。如果html文件和图像文件都位于/data/
文件夹中。然后以下内容应该起作用:
document.getElementById("mydiv").src="some-image.jpg"
相关文章:
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 从内部链接进入页面时,引导模式未打开
- Cordova包装应用程序内部链接加载在应用程序中,外部链接加载在浏览器中
- 谷歌分析跟踪内部链接不正常工作的事件
- 如何自动将页码添加到HTML页面上的所有内部链接
- 将内部链接分配给视差网站的不同部分
- iframe resizer内部的锚点链接不'不起作用
- url中没有id的内部链接
- 如何使用JS抓取页面以获取内部链接?它也必须递归地完成
- 在不增加分析跳出率的情况下,绑定网页上的内部链接以动态加载
- 将内联块元素居中,并在 td 内部使用链接
- 如何检测用户点击了内部或外部链接
- 基础标题手风琴上的内部链接
- 函数内部的超链接
- 用于获得“;两个不同的滚动速度“;在这个网站上?(请参阅内部链接)
- 指向“”的超链接;隐藏的“;jQuery Toggler内部的内容(特定的#id)
- 如何从指令链接内部为选择框设置选定值
- 如何根据链接内部状态更改列表项的颜色
- 从外部源加载链接内部模态
- 如果单击链接内部的元素,如何防止默认链接行为