Я реализую расширения Google Chrome, которые обрабатывают вкладки. Это включает в себя, что я получаю onCreated
, onUpdated
и onActivated
. Каждый раз я использую tabId
в своей логике, первоначально сохраненной в массиве во время обработки событий onCreated
. В принципе все работает нормально.Идентификатор вкладки Google Chrome изменяется в течение жизни табуляции
Однако я заметил сбой. Иногда идентификатор уже существующей вкладки изменяется. Таким образом, вкладка имеет идентификатор, который отсутствует в моем массиве, что, естественно, приводит к ошибкам. Я могу воспроизвести этот вопрос в следующем случае использования:
- открыт 2 или более вкладок с различными URL-адреса
- нагрузка в одной вкладке T URL-адрес, который уже загружен в другой вкладке
В этом случай, происходят две вещи: во-первых, вместо события onUpdated
, событие onActivated
для T огней. Во-вторых, T теперь имеет новый идентификатор, который обычно увеличивается на 2.
Это кажется мне далеко не интуитивно понятным. Я бы назвал это ошибкой. Кто-нибудь знает, что здесь происходит?
Любые советы приветствуются!
Woah, это было быстро! И вы правы, это пререранция. Если я запускаю Chrome с помощью 'google-chrome -prerender-from-omnibox = disabled', все работает. Также запускается событие 'chrome.webNavigation.onTabReplaced'. Надеюсь, я смогу настроить его достаточно, чтобы сделать это для моих нужд. Во всяком случае, большое спасибо! – Christian