我正在开发扩展程序,我想让用户选择是否希望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', ...); });
有没有办法在后台脚本中切换这两种情况?
答案 0 :(得分:1)
是的,您可以使用chrome.browserAction.setPopup()
。如果将弹出窗口设置为''
,则不会显示弹出窗口:
chrome.browserAction.setPopup({popup: ''});
然后,您可以在需要弹出窗口时将弹出窗口设置回HTML页面:
chrome.browserAction.setPopup({popup: '/myPopup.html'});
一个方便的事情是,如果显示弹出窗口,则不会触发browserAction
事件。因此,标签将无法打开。这可以通过将browserAction.setPopup()
设置为''
来切换。