Spec-Zone.ru › Web Extensions

webNavigation.onBeforeNavigate

Вызывается, когда браузер собирается начать событие навигации.

Синтаксис

browser.webNavigation.onBeforeNavigate.addListener(
  listener,                   // function
  filter                      // optional object
)
browser.webNavigation.onBeforeNavigate.removeListener(listener)
browser.webNavigation.onBeforeNavigate.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. Идентификатор процесса, в котором отображается эта вкладка (Это свойство не поддерживается в Firefox и устарело в Chrome).

frameId

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

parentFrameId

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

timeStamp

number. Время, когда браузер собирается начать навигацию, в миллисекундах с начала эпохи.

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

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

Примеры

Выводит целевые URL для onBeforeNavigate, если имя хоста целевого адреса содержит "example.com" или начинается с "developer".

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

function logOnBefore(details) {
  console.log(`onBeforeNavigate to: ${details.url}`);
}

browser.webNavigation.onBeforeNavigate.addListener(logOnBefore, 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/onBeforeNavigate

Spec-Zone.ru

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