繁体   English   中英

Chrome扩展程序-Javascript

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM