Chrome扩展-Javascript
我试图使它,使我的按钮可能只打开一个实例,我的网页在同一时间,但它拒绝工作。我正在调试过程中,我的印象是,如果我关闭使用我的按钮打开的选项卡,两个警报应打印相同的编号,即唯一的选项卡id no?。他们没有。这是我的密码Chrome扩展-Javascript,javascript,Javascript,我试图使它,使我的按钮可能只打开一个实例,我的网页在同一时间,但它拒绝工作。我正在调试过程中,我的印象是,如果我关闭使用我的按钮打开的选项卡,两个警报应打印相同的编号,即唯一的选项卡id no?。他们没有。这是我的密码 var isOpen = false; var myTabId = null; chrome.tabs.onRemoved.addListener(function(tabId, removeInfo){ if (isOpen == true) {
var isOpen = false;
var myTabId = null;
chrome.tabs.onRemoved.addListener(function(tabId, removeInfo){
if (isOpen == true)
{
alert(myTabId);
alert(tabId);
}
});
chrome.browserAction.onClicked.addListener(function (tab) {
if (isOpen == false)
{
chrome.tabs.create({'url': "./selectpage.html"});
isOpen = true;
myTabId = tab.id;
alert("new tab "+tab.id);
}
});
提前感谢。我认为这里的问题是您在myTabId中存储了不正确的选项卡id。在onClicked回调中,将向您传递一个对在单击扩展图标时处于活动状态的选项卡的引用,而不是您作为响应打开的新选项卡 您应该做的是在创建新选项卡时添加回调,并存储对其id的引用:
var isOpen = false;
var myTabId = null;
chrome.tabs.onRemoved.addListener(function(tabId, removeInfo){
if (isOpen == true)
{
alert(myTabId);
alert(tabId);
}
});
chrome.browserAction.onClicked.addListener(function (userTab) {
if (isOpen == false)
{
chrome.tabs.create({'url': "./selectpage.html"}, function(myTab){
isOpen = true;
myTabId = myTab.id;
alert("new tab "+myTabId);
});
}
});