正确的方法将当前打开页面的内容放入FireFox附加sdk中的main.js文件中

时间:2014-02-26 15:08:58

标签: firefox-addon-sdk

我对附加的Firefox sdk有一个问题。我正在寻找一种方法来获取当前工作页面的内容到main.js文件中。该应用程序基于小部件,单击时打开弹出窗口。我有一个想法。要使用sdk / page-worker将内容脚本注入open,并使用端口API(self.port.emit)将此内容脚本用于触发事件并传递document.body.innerHTML。像这样:

self.port.emit("getCurrentPageHtml", document.body.innerHTML);

进入main.js文件:

popupName.port.on("getCurrentPageHtml", function (receivedHtml) {
   // handle received html
});

但如果有一些直接的API并且避免这种沟通,那将是非常好的主意。

我将不胜感激任何建议和提示。

祝你好运。

1 个答案:

答案 0 :(得分:0)

我今天第二次回答我自己的问题。可怜。显然没有直接的方法来做到这一点。所以我们可以用popuVar.port.on监听面板事件。在此之后我们可以使用:

// must be required tab api
// https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/tabs
tabs.activeTab.url

并在此网址https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/page-worker上使用page-worker。此页面工作程序的此内容脚本将触发事件以获取页面的html。另一个选项是向当前页面的url发出请求。