Javascript worker.port.on不';我不知道发生了什么事
Javascript worker.port.on不';我不知道发生了什么事,javascript,event-handling,firefox-addon,firefox-addon-sdk,Javascript,Event Handling,Firefox Addon,Firefox Addon Sdk,main.jscomplete代码: const data = require("self").data; const pageMod = require("page-mod"); pageMod.PageMod({ include: "*", contentScriptFile: data.url("addButtons.js"), onAttach: function(worker) { worker.port.on("testEvent", function(n
main.js
complete代码:
const data = require("self").data;
const pageMod = require("page-mod");
pageMod.PageMod({
include: "*",
contentScriptFile: data.url("addButtons.js"),
onAttach: function(worker) {
worker.port.on("testEvent", function(name) {
window.alert(name);
});
}
});
addButtons.js
,摘录:
<...>
var img=document.createElement("img");
img.setAttribute('src', '...');
img.onclick=function() {
var name='printMe';
self.port.emit("testEvent", name);
// window.alert(name);
}
<...>
var img=document.createElement(“img”);
setAttribute('src','…');
img.onclick=function(){
var name='printMe';
self.port.emit(“testEvent”,名称);
//window.alert(名称);
}
目标是通过单击img并显示带有参数的警报,将事件从addButton.js
发送到main.js
。如果我取消注释行//window.alert(名称)
在addButton.js
-我会得到警报,即onclick
功能工作正常。但上面描述的代码并没有在控制台中向我显示警报或任何错误。
我已经阅读了所有相关文档,但没有任何帮助。事件发送正常-只是扩展中没有
窗口,因此没有窗口。alert()
(如果按Ctrl-Shift-J打开错误控制台,您应该会看到此错误)。您只能在内容脚本中使用window.alert()
,因为它们附加到网页上,您应该改为在扩展模块中使用。@gvidik:如果解决了您的问题,请随时接受答案。请参阅。@gvidik,值得注意的是,main.js中默认没有一个正常的文档API可用。