使用 Firefox 附加 SDK 构建网页

Use Firefox add-on SDK to construct a web page

我想构建一个 Firefox 扩展,用户点击它后,会动态构建一个网页并在新选项卡中打开。

在"tab"API中,我只看到tab.open()打开了一个指向远程网站的超链接。我可以构建一个 JavaScript 变量包含所有 HTML 内容(如 var page = "blahblah....")并打开它吗?怎么做?

您不必动态构建它,只需在您的插件中放置一个 htm 页面,然后 link 将是 resource://您的插件 id/blah.htm。这个插件在这里创建一个页面:addons.mozilla.org/en-US/firefox/addon/twitch-alarm

您还可以为您的页面创建一个 about:blah url,这显示了如何在没有 sdk 的情况下进行操作:github.com/Noitidart/ZooniverseXpert

您不必动态创建 html 页面,而是将 html 页面放入您的插件中,并在您打开标签页时引用它。

tabs.open({
    url : self.data.url("js/error.html"),
    onReady : function(tab) {
        var errorWorker = tab.attach({
            contentScriptFile : self.data.url("js/error.js")
        });
        errorWorker.port.emit("error_page",message);
    }
});

这里我显示了一个存储在我的插件中的错误页面,并附加了一个内容脚本文件,通过 main.js 和错误页面之间传递的消息动态更改 html 页面的内容。 希望对你有用。