У меня есть следующий слушатель, присоединенный к событию chrome.tabs.onUpdated
:
//background.js
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
if (changeInfo.url) {
// Save tabId if tab's url is being changed (aka. user is navigating)
navigatedTIDs.push(tabId);
}
if (changeInfo.status == 'complete' && info.url === undefined) {
let idx = navigatedTIDs.indexOf(tabId);
if (idx == -1) {
// Tab id was not previously saved -> user reloaded
cleanUpStorage(tabId); //tab was reloaded
} else {
// Tab id was previously saved -> user navigated, didn't reload
navigatedTIDs.splice(idx, 1)
}
}
});
Поле url
в changeInfo
объекте должно содержать " URL-адрес вкладки, если он изменился ."Он случайно перестал пропускать это поле внутри changeInfo
. Я использовал его, чтобы различать guish между пользователем, переместившимся и перезагружающим страницу.
Я проверял все виды случаев, и он никогда не пропускает URL, ни в changeInfo
, ни в tab
объект. Это просто перестало делать это случайно во время тестирования. Я даже перезапустил свой P C. Я в отчаянии.
Что может вызвать такое поведение?