Spec-Zone.ru › Web Extensions

webNavigation.onCommitted

Вызывается при подтверждении навигации. По крайней мере, часть нового документа получена от сервера, и браузер решил переключиться на новый документ.

Синтаксис

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

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

addListener(callback)

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

removeListener(listener)

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

hasListener(listener)

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

Синтаксис addListener

Параметры

callback

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

details

object. Детали события навигации. Подробную информацию см. в разделе details.

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

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

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

details

tabId

integer. Идентификатор вкладки, в которой произойдет навигация.

url

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

processId

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

frameId

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

parentFrameId

integer. Идентификатор родительского фрейма. Установлено значение -1 , если это фрейм верхнего уровня.

timeStamp

number. Время подтверждения навигации в миллисекундах с начала эпохи по Unix-времени.

transitionType

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

transitionQualifiers

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

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

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

Примеры

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

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

function logOnCommitted(details) {
  console.log(`target URL: ${details.url}`);
  console.log(`transition type: ${details.transitionType}`);
  console.log(`transition qualifiers: ${details.transitionQualifiers}`);
}

browser.webNavigation.onCommitted.addListener(logOnCommitted, filter);

Примеры расширений

  • navigation-stats

Примечание: Этот 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/onCommitted

Spec-Zone.ru

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