我正在为firefox开发一个附加组件。我正在使用新的SDK来做到这一点。我真正了解端口以及附加脚本和内容脚本之间的通信。我的附加组件执行一些处理,然后得出一些结果。我试图在一个新的选项卡中向用户呈现这些结果,其中html / css / js与add本身打包在一起。我不确定如何将结果传达给页面。
由于
PS:我可以通过面板轻松做到这一点,但我不知道如何使用新标签
答案 0 :(得分:1)
好的,我想出了怎么做。我想我应该在这里写下答案,以防其他人遇到同样的问题!
诀窍是打开一个包含页面的新选项卡,在“ready”事件中,您附加ContentScript或ContentScriptFile。 attach()方法返回一个worker,您可以使用该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)
答案 1 :(得分:-1)
var self = require("sdk/self");
url= self.data.url("yourpage.html");
var tabs = require("sdk/tabs");
tabs.open(url);