webNavigation.onHistoryStateUpdated
Вызывается, когда страница использует >API истории для обновления URL, отображаемого в адресной строке браузера. Все последующие события для этой фрейма будут использовать обновлённый URL.
Синтаксис
browser.webNavigation.onHistoryStateUpdated.addListener( listener, // function filter // optional object ) browser.webNavigation.onHistoryStateUpdated.removeListener(listener) browser.webNavigation.onHistoryStateUpdated.hasListener(listener)
События имеют три функции:
addListener(callback)-
Добавляет слушатель к этому событию.
removeListener(listener)-
Прекращает прослушивание этого события. Аргумент
listener— это слушатель для удаления. hasListener(listener)-
Проверяет, зарегистрирован ли
listenerдля этого события. Возвращаетtrue, если он прослушивает,falseв противном случае.
Синтаксис addListener
Параметры
callback-
Функция, которая будет вызываться при возникновении этого события. Функция получит следующие аргументы:
details-
object. Детали о событии навигации. Более подробную информацию см. в разделе details.
-
filterНеобязательно -
object. Объект, содержащий единственное свойствоurl, которое являетсяArrayобъектовevents.UrlFilter. Если вы включите этот параметр, событие будет срабатывать только для переходов на URL-адреса, которые соответствуют хотя бы одномуUrlFilterв массиве. Если вы опустите этот параметр, событие будет срабатывать для всех переходов.
Дополнительные объекты
details
tabId-
integer. Идентификатор вкладки, в которой происходит навигация. url-
string. URL, на который перейдёт данный фрейм. processId-
integer. Идентификатор процесса, в котором отображается эта вкладка. frameId-
integer. Фрейм, в котором произойдёт навигация. Значение0означает, что навигация происходит в главном контексте просмотра вкладки, а не во вложенном<iframe>. Положительное значение указывает, что навигация происходит во вложенном iframe. Идентификаторы фреймов уникальны для данной вкладки и процесса. timeStamp-
number. Время изменения URL API истории в миллисекундах с момента эпохи. transitionType-
. Причина навигации: например,transitionType"link", если пользователь щелкнул по ссылке. transitionQualifiers-
ArrayизtransitionQualifier. Дополнительная информация о навигации: например, был ли серверный или клиентский редирект.
Совместимость с браузерами
| Рабочие столы | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
onHistoryStateUpdated |
Да | 14Фильтрация не поддерживается. |
47 | ? | 17 | Нет | ? | ? | 48 | ? | Нет | ? |
transitionQualifiers |
Да | 79 | 48 | ? | 17 | Нет | ? | ? | 48 | ? | Нет | ? |
transitionType |
Да | 79 | 48 | ? | 17 | Нет | ? | ? | 48 | ? | Нет | ? |
Примеры
Выводит целевые URL-адреса и дополнительную информацию о переходе для onHistoryStateUpdated, если имя хоста целевого URL-адреса содержит "example.com" или начинается с "developer".
const filter = { url: [ {hostContains: "example.com"}, {hostPrefix: "developer"} ] } function logOnHistoryStateUpdated(details) { console.log(`onHistoryStateUpdated: ${details.url}`); console.log(`Transition type: ${details.transitionType}`); console.log(`Transition qualifiers: ${details.transitionQualifiers}`); } browser.webNavigation.onHistoryStateUpdated.addListener(logOnHistoryStateUpdated, filter);
Примечание: Этот API основан на API chrome.webNavigation Chromium. Данная документация взята из web_navigation.json кода Chromium.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webNavigation/onHistoryStateUpdated