Javascript Google Chrome中标签的标签ID何时更改?

Javascript Google Chrome中标签的标签ID何时更改?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在使用onUpdate事件侦听器,但在加载之前和之后获得不同的选项卡ID: 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.s

我正在使用onUpdate事件侦听器,但在加载之前和之后获得不同的选项卡ID:

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 

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


正如@DraškoKokić所暗示的那样,每个
onUpdated
处理程序都会在每次选项卡更新时被调用,而不仅仅是那些
onCreated
处理程序中注册了它的选项卡,因此你会得到一些误导性的
console.log
输出。

两个
addListener
语句都缺少右括号和分号。顺便说一句,为什么要在创建的侦听器中注册更新侦听器?