[英]Chrome Extensions - Javascript
我正在尝试这样做,因此我的按钮可能一次只能打开我的网页的一个实例,但是拒绝工作。 我正在调试过程中,如果关闭使用按钮打开的选项卡,则会给人留下深刻的印象,两个警报都应打印相同的数字(选项卡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 (tab) {
if (isOpen == false)
{
chrome.tabs.create({'url': "./selectpage.html"});
isOpen = true;
myTabId = tab.id;
alert("new tab "+tab.id);
}
});
提前致谢。
我相信这里的问题是您在myTabId中存储了不正确的Tab 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);
});
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.