加载项脚本和我的firefox加载项中打包的页面之间的通信

加载项脚本和我的firefox加载项中打包的页面之间的通信,firefox,firefox-addon,firefox-addon-sdk,Firefox,Firefox Addon,Firefox Addon Sdk,我正在为firefox开发一个附加组件。我正在使用新的SDK来实现这一点。我真正关心的是端口以及附加脚本和内容脚本之间的通信。我的插件执行一些处理,然后得出一些结果。我试图在一个新的选项卡中向用户展示这些结果,该选项卡的html/css/js与附加组件一起打包。我不知道如何将结果传达给页面 谢谢 PS:我可以用一个面板轻松地做到这一点,但我不知道如何用一个新的标签做到这一点 var self = require("sdk/self"); url= self.data.url("yourpage.

我正在为firefox开发一个附加组件。我正在使用新的SDK来实现这一点。我真正关心的是端口以及附加脚本和内容脚本之间的通信。我的插件执行一些处理,然后得出一些结果。我试图在一个新的选项卡中向用户展示这些结果,该选项卡的html/css/js与附加组件一起打包。我不知道如何将结果传达给页面

谢谢

PS:我可以用一个面板轻松地做到这一点,但我不知道如何用一个新的标签做到这一点

var self = require("sdk/self");
url= self.data.url("yourpage.html");
var tabs = require("sdk/tabs");
tabs.open(url);

好的,我知道怎么做了。我想我应该在这里写下答案,以防其他人被困在同一个问题上

诀窍是打开包含页面的新选项卡,在“就绪”事件中,附加ContentScript或ContentScriptFile。attach()方法返回一个worker,您可以使用它在加载项脚本和ContentScript之间来回通信。也许有一个更有效的方法来做这件事,但我让它为我工作没有问题

function attachContentScript(){
    var worker = tabs.activeTab.attach({
        ContentScriptFile: self.data.url("myContentScript.js")
    });
    //Now you can commmunicate using worker and the content script
    //using port    
}
tabs.open(self.data.url("myPage.html"));
tabs.on("ready", attachContentScript)

谢谢,但这不是我要的相关文档现在位于此处: