我正在使用 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");
您是否包含自己的数据模块?
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;
});
关于javascript - 如何链接到 Firefox 扩展中的内部图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18156742/