Spec-Zone.ru › Web Extensions

webNavigation.onReferenceFragmentUpdated

Вызывается, если фрагмент идентификатора страницы изменён. Например, если страница реализует оглавление с использованием фрагментов, и пользователь нажимает на элемент в оглавлении, это событие будет вызвано. Все последующие события для этого фрейма будут использовать обновлённый URL.

Синтаксис

browser.webNavigation.onReferenceFragmentUpdated.addListener(
  listener,                   // function
  filter                      // optional object
)
browser.webNavigation.onReferenceFragmentUpdated.removeListener(listener)
browser.webNavigation.onReferenceFragmentUpdated.hasListener(listener)

События имеют три функции:

addListener(callback)

Добавляет обработчик к этому событию.

removeListener(listener)

Прекращает прослушивание этого события. Аргумент listener — это обработчик, который нужно удалить.

hasListener(listener)

Проверяет, зарегистрирован ли listener для этого события. Возвращает true если обработчик зарегистрирован, false в противном случае.

Синтаксис addListener

Параметры

callback

Функция, которая будет вызвана при возникновении этого события. Функция получит следующие аргументы:

details

object. Детали события навигации. См. раздел details для получения дополнительной информации.

filter Необязательно

object. Объект, содержащий единственное свойство url, которое является массивом events.UrlFilter объектов. Если вы включите этот параметр, событие будет срабатывать только для переходов на URL-адреса, которые соответствуют хотя бы одному элементу массива. Если вы опустите этот параметр, событие будет срабатывать для всех переходов.

Дополнительные объекты

details

tabId

integer. Идентификатор вкладки, в которой будет происходить навигация.

url

string. URL, на который данный фрейм будет перенаправлен.

processId

integer. Идентификатор процесса, в котором отображается эта вкладка.

frameId

integer. Фрейм, в котором произойдёт навигация. Значение 0 указывает, что навигация происходит в главном контексте просмотра вкладки, а не во вложенном <iframe>. Положительное значение указывает, что навигация происходит во вложенном iframe. Идентификаторы фреймов уникальны для данной вкладки и процесса.

timeStamp

number. Время изменения фрагмента идентификатора страницы в миллисекундах с момента эпохи.

transitionType

transitionType. Причина навигации: например, "link" если пользователь кликнул по ссылке.

transitionQualifiers

Array значений transitionQualifier. Дополнительная информация о навигации: например, была ли переадресация на сервере или клиенте.

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet
onReferenceFragmentUpdated
ДаЕсли параметр filter пуст, Chrome соответствует всем URL-адресам.
14Фильтрация не поддерживается.
45["Фильтрация поддерживается с версии 50.", "Если параметр filter пуст, Firefox генерирует исключение."]
?
17Если параметр filter пуст, Opera соответствует всем URL-адресам.
Нет ? ?
48["Фильтрация поддерживается с версии 50.", "Если параметр filter пуст, Firefox генерирует исключение."]
? Нет ?
transitionQualifiers Да 79 48 ? 17 Нет ? ? 48 ? Нет ?
transitionType Да 79 48 ? 17 Нет ? ? 48 ? Нет ?

Примеры

Выводит целевые URL-адреса и дополнительную информацию о переходе для onReferenceFragmentUpdated, если имя хоста целевого URL-адреса содержит "example.com" или начинается с "developer".

const filter = {
  url:
  [
    {hostContains: "example.com"},
    {hostPrefix: "developer"}
  ]
}

function logOnReferenceFragmentUpdated(details) {
  console.log(`onReferenceFragmentUpdated: ${details.url}`);
  console.log(`Transition type: ${details.transitionType}`);
  console.log(`Transition qualifiers: ${details.transitionQualifiers}`);
}

browser.webNavigation.onReferenceFragmentUpdated.addListener(logOnReferenceFragmentUpdated, 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/onReferenceFragmentUpdated

Spec-Zone.ru

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