Spec-Zone.ru › Web Extensions

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API