Javascript 要从main.js发出的Firefox扩展端口
我正在构建一个firefox扩展,并尝试在main.js和contentScriptFile之间进行通信。基本上,当一个选项卡关闭时,我想要的是调用contentScriptFile中的函数,该函数被注入所有其他打开的选项卡中。我当前使用的端口代码似乎不起作用 Main.jsJavascript 要从main.js发出的Firefox扩展端口,javascript,firefox-addon-sdk,Javascript,Firefox Addon Sdk,我正在构建一个firefox扩展,并尝试在main.js和contentScriptFile之间进行通信。基本上,当一个选项卡关闭时,我想要的是调用contentScriptFile中的函数,该函数被注入所有其他打开的选项卡中。我当前使用的端口代码似乎不起作用 Main.js var tabs = require("sdk/tabs"); tabs.on('close', function(tab){ if(tab.url.indexOf('example.com/url2') > -1
var tabs = require("sdk/tabs");
tabs.on('close', function(tab){
if(tab.url.indexOf('example.com/url2') > -1)
{
for (let tab of tabs)
{
tab.attach({}).port.emit("doCORN", 'eg1');
}
}
else if(tab.url.indexOf('example.com/url1') > -1)
{
for (let tab of tabs)
{
tab.attach({}).port.emit("doCORN", 'eg2');
}
}
});
Contentscriptfile
self.port.on("doCORN", function(msg) {
console.log(msg)
});
但它似乎不起作用。那么,有人有想法吗?内容脚本是如何附加的?如果通过代码中显示的tab.attach调用附加脚本,则代码将正常工作。如果您通过pageMod附加内容脚本,则不会,因为您在此处创建的工作实例不知道其他内容脚本。@canuckistani,谢谢。我已经附加使用Pagemod。修正了这个问题。必须跟踪所有工人,并称之为工人港。谢谢你的帮助。是的-阅读以了解内容脚本之间交流的局限性。@canuckistani谢谢