如何从弹出脚本访问选项卡对象

时间:2017-12-12 12:50:48

标签: javascript firefox firefox-addon firefox-webextensions

我是javascript的新手,我想编写一个firefox Web扩展代码。 我有一个带弹出窗口的浏览器操作按钮。但我没有在清单中定义弹出窗口,我在javascript代码中设置它,因为定义弹出窗口时不会触发click事件。所以这是我的后台脚本的重要部分:

browser.browserAction.onClicked.addListener((tab) => {
    var tabUrl = tab.url;
    browser.browserAction.setPopup({ popup: "/popup/popup.html" });
    browser.browserAction.openPopup();   
    browser.browserAction.setPopup({ popup: "" });
});

在这种情况下,tab对象被传递,所以我可以使用url。

此文件位于/ background_scripts文件夹中。 弹出窗口位于/ popup文件夹中。这是一个包含2个菜单项的html文件。 在popup.js中我有一个事件来获得点击:

document.addEventListener("click", (e) => {

    if(e.target.id == menuItem1)
    {
    ...

    //here i want to use the url of the current tab    

});

如何在弹出代码中获取标签对象或网址?

tabs.tab.getCurrent()方法根据我的理解不起作用:

tabs.getCurrent() result is undefined?

和这个

How do I include a JavaScript file in another JavaScript file?

也不起作用。

0 个答案:

没有答案