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