在我的清单中我有这个:
"popup": "1_options.html"
在上面的html文件中我有这段代码
var saved_email = localStorage['saved_email'];
if (saved_email !== undefined || saved_email != "a@a.com")
{
chrome.tabs.create({url: '0_register.html'});
}
这正是我想要的,它打开一个带有register.html的新标签但是它仍然在右上方打开了弹出窗口:((1_options.html)
谢谢! 莱恩
答案 0 :(得分:2)
你试过了吗?
self.close();
答案 1 :(得分:2)
有几种方法可以做到这一点,但最简单的方法是打电话:
window.close();
您甚至可以在创建标签时在回调函数中执行此操作...
chrome.tabs.create({url: '0_register.html'}, function() {
window.close();
});
您还可以在后台脚本中添加侦听器以检查选项卡更新,如果新选项卡是注册窗口,则可以删除弹出窗口:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if(changeInfo.status == "loading") {
if(tab.url == "chrome-extension://[extension-id]/0_register.html") {
chrome.tabs.remove(tabId);
}
}
});
答案 2 :(得分:1)
chrome.tabs.create({url: '0_register.html', selected: true});
如果你不介意在创建新标签时选择它,这也会强制弹出窗口关闭。