Итак, я отслеживаю вкладки по мере их обновления и хранения каждой вкладки в массиве. Однако иногда, и только иногда, id пропускается, который не существует, и я не могу понять это для жизни меня. Это известный хром-баг, или я просто что-то пропустил? Спасибо!chrome.tabs.onUpdated возвращает идентификатор табуляции, который не существует?
chrome.tabs.onUpdated.addListener(function(tabId,changeInfo,currentTab){
//Find the containing window in the array of windows
var containingWindow = windows.filter(function(currentWindow){
return currentWindow.id===currentTab.windowId;
});
if (containingWindow.length===1){
containingWindow = containingWindow[0];
//Find the containing tab (by id) in our list of tabs.
var containingTab = containingWindow.tabs.filter(function(currentTab){
return currentTab.id===tabId;
});
if (containingTab.length===1){
console.log("It worked!");
}
else{
//At this point, there's no reason for it NOT to work, but sometimes an id gets thrown that doesn't exist.
debugger;
throw "Argh the bug is still there matey! "+containingTab.length+" "+containingTab+" "+tabId;;
}
}
});
Где вы получаете 'windows' от? – Xan
Это массив, который я создал под названием «окна», и окна добавляются в указанный массив через chrome.windows.onCreate, а вкладки добавляются в массив «tabs», содержащийся внутри объекта, через chrome.tabs.onCreate. – ollien