webNavigation.onDOMContentLoaded
Вызывается, когда в странице срабатывает событие DOMContentLoaded. На этом этапе документ загружен и распарсен, а DOM полностью построен, но связанные ресурсы, такие как изображения, стили и подрамки, могут ещё не быть загружены.
Синтаксис
browser.webNavigation.onDOMContentLoaded.addListener( listener, // function filter // optional object ) browser.webNavigation.onDOMContentLoaded.removeListener(listener) browser.webNavigation.onDOMContentLoaded.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. Время, в момент которогоDOMContentLoadedбыло вызвано, в миллисекундах с начала эпохи. (Unix time).
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | |
onDOMContentLoaded |
ДаЕсли параметр 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-адреса для onDOMContentLoaded, если имя хоста целевого URL содержит "example.com" или начинается с "developer".
const filter = { url: [ {hostContains: "example.com"}, {hostPrefix: "developer"} ] } function logOnDOMContentLoaded(details) { console.log(`onDOMContentLoaded: ${details.url}`); } browser.webNavigation.onDOMContentLoaded.addListener(logOnDOMContentLoaded, 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/onDOMContentLoaded