Я использую следующий код в моей eventPage.js (замена backgroundPage Google), и я столкнулся с какой-то странной несогласованностью. Это сценарий:Непоследовательность с слушателями - onUpdated на одной машине и onReplaced на другой машине
Первая машина:
Открытие новой вкладки ->
onActivated
onUpdated
onUpdated
onUpdated
Ввод URL ->
onUpdated
onUpdated
ввести другой URL ->
onUpdated
onUpdated
Вторая машина:
Открытие новой вкладки ->
onActivated
Ввод URL
onReplaced
onActivated
ввести другой URL
onReplaced
onActivated
Это мой код:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab)
{
console.log("onUpdated");
});
chrome.tabs.onActivated.addListener(function(tabId, changeInfo, tab)
{
console.log("onActivated");
});
chrome.tabs.onReplaced.addListener(function(tabId, changeInfo, tab)
{
console.log("onReplaced");
});
После много отладки я обнаружил, что причина этого различия является вариантом «Предсказывать сетевые действия для ускорения загрузки страниц» в настройках Google Chrome.
В первой машине указанная выше опция не выбрана и работает должным образом.
Ожидаемое поведение для второй машины?
Из документации я могу как-то понять onReplaced статус:
сгорело, когда вкладка заменяется другой вкладки из-за предварительной визуализации или момент.
Хотя это очень плохо документировано, и нет никакого способа, зная, что этот вариант так или иначе связан с состояниями OnUpdated onReplaced, но я действительно не понимаю onActivated статусов во второй машине и почему есть разница между первым машины и второй машины.
Не удалось найти документацию на эту страницу в Интернете. В stackoverflow я едва мог найти один вопрос, который упоминает onReplaced listener, но не имел никакой информации, которую я могу использовать.
Благодаря
Спасибо за ответ. Является ли вышеописанным документом где-либо или это просто ваше понимание сценария? – Segev
Возможно, я должен был включить некоторые документы в первую очередь. Я обновил ответ. Это описывает, что происходит. Зная это, тогда интерпретация наблюдений (в терминах хром. * События API запускаются довольно прямолинейно.) – gkalpak
Отличная информация. Еще раз спасибо. Любой шанс, который вы знаете, есть ли способ проверить, установлен ли этот параметр или нет в chrome api? – Segev