我对附加的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并且避免这种沟通,那将是非常好的主意。
我将不胜感激任何建议和提示。
祝你好运。
答案 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发出请求。