Chrome扩展程序,切换浏览器动作onclick

时间:2016-11-13 18:40:01

标签: javascript google-chrome-extension

我正在开发扩展程序,我想让用户选择是否希望browserAction按钮在弹出窗口中打开HTML页面或在新选项卡中打开它。

第一种情况(在清单中):

"browser_action": {
    "default_icon": {
        "19": "data/button.png"
    },
    "default_page": "./popup/popup.html"
}

第二种情况(在index.js中):

chrome.browserAction.onClicked.addListener(function() { window.open('../popup/popup.html', ...); });

有没有办法在后台脚本中切换这两种情况?

1 个答案:

答案 0 :(得分:1)

是的,您可以使用chrome.browserAction.setPopup()。如果将弹出窗口设置为'',则不会显示弹出窗口:

chrome.browserAction.setPopup({popup: ''});

然后,您可以在需要弹出窗口时将弹出窗口设置回HTML页面:

chrome.browserAction.setPopup({popup: '/myPopup.html'});

一个方便的事情是,如果显示弹出窗口,则不会触发browserAction事件。因此,标签将无法打开。这可以通过将browserAction.setPopup()设置为''来切换。