Что может привести к тому, что событие onUpdated API Chrome Tabs никогда не пропустит URL-адрес? - PullRequest
0 голосов
/ 14 марта 2020

У меня есть следующий слушатель, присоединенный к событию 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. Я в отчаянии.

Что может вызвать такое поведение?

1 Ответ

0 голосов
/ 14 марта 2020

Решено!

У меня не было разрешения вкладок, объявленного в моем manifest.json ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...