Google Chrome中标签的tabId何时发生变化?

时间:2013-06-06 21:11:03

标签: javascript google-chrome-extension

我正在使用onUpdate事件监听器,但在加载之前和之后获得了不同的tabId:

chrome.tabs.onCreated.addListener(function(tab){
    var i=ta.length;
    ta[i]=new Array(5);

    chrome.tabs.onUpdated.addListener(function(tid, changeInfo, tabO){
        console.log(tid + " " + changeInfo.status);
        console.log(tab.id + " " + tabO.title); //tab.id is form onCreated event

        if( tid == tab.id && changeInfo.status === "complete" && tabO.title !== "New Tab") {
            console.log(tabO.title+"******"+tabO.url);//then do stuff
        }
    }
}

的console.log

>200 loading script_new.js:12
>200 stackoverflow.com/questions/ask script_new.js:13
>200 undefined script_new.js:12
>194 stackoverflow.com/questions/ask script_new.js:13
>200 undefined script_new.js:12
>198 stackoverflow.com/questions/ask script_new.js:13
>200 undefined script_new.js:12
>200 stackoverflow.com/questions/ask script_new.js:13
>200 complete script_new.js:12
>194 Ask a Question - Stack Overflow 

1 个答案:

答案 0 :(得分:2)

简短回答:Chrome标签页的tabId不会更改,但如果您关闭标签页并使用ctrl + shift + t“重新打开”它,它将是一个具有不同ID的新标签页

正如@DraškoKokić暗示的那样,每个标签更新都会调用每个onUpdated处理程序,而不仅仅是您在其中注册了onCreated处理程序的标签,因此您会产生一些误导{{1}输出。