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可用。