我正在使用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
答案 0 :(得分:2)
简短回答:Chrome标签页的tabId
不会更改,但如果您关闭标签页并使用ctrl + shift + t“重新打开”它,它将是一个具有不同ID的新标签页
正如@DraškoKokić暗示的那样,每个标签更新都会调用每个onUpdated
处理程序,而不仅仅是您在其中注册了onCreated
处理程序的标签,因此您会产生一些误导{{1}输出。