webNavigation

Fügen Sie Ereignis-Listener für die verschiedenen Phasen einer Navigation hinzu. Eine Navigation besteht aus einem Frame im Browser, der von einer URL zu einer anderen übergeht, normalerweise (aber nicht immer) als Reaktion auf eine Benutzeraktion wie das Klicken auf einen Link oder das Eingeben einer URL in die Adressleiste.

Verglichen mit der webRequest API: Navigationsereignisse führen in der Regel dazu, dass der Browser Webanfragen stellt, aber die webRequest API befasst sich mit der detaillierteren Ansicht auf der HTTP-Ebene, während die webNavigation API sich mehr mit der Ansicht aus der Benutzeroberfläche des Browsers selbst beschäftigt.

Jedes Ereignis entspricht einer bestimmten Phase der Navigation. Die Reihenfolge der Ereignisse sieht wie folgt aus:

Visualisierung des primären und der unten beschriebenen zusätzlichen Abläufe.

Jede Navigation ist ein URL-Übergang in einem bestimmten Browser-Frame. Der Browser-Frame wird durch eine Tab-ID und eine Frame-ID identifiziert. Der Frame kann entweder der oberste Browsing-Kontext im Tab sein, oder ein verschachtelter Browsing-Kontext, der als iframe implementiert ist.

Jeder addListener()-Aufruf eines Ereignisses akzeptiert einen optionalen Filterparameter. Mit dem Filter können ein oder mehrere URL-Muster spezifiziert werden, und das Ereignis wird dann nur für Navigationen ausgelöst, bei denen die Ziel-URL einem der Muster entspricht.

Der onCommitted Ereignis-Listener erhält zwei zusätzliche Eigenschaften: einen TransitionType, der den Grund für die Navigation angibt (z. B. weil der Benutzer auf einen Link geklickt hat oder ein Lesezeichen ausgewählt hat), und einen TransitionQualifier, der weitere Informationen über die Navigation liefert.

Um diese API nutzen zu können, benötigen Sie die Berechtigung "webNavigation" permission.

Typen

webNavigation.TransitionType

Grund für die Navigation: z. B. der Benutzer hat auf einen Link geklickt, eine Adresse eingegeben oder ein Lesezeichen angeklickt.

webNavigation.TransitionQualifier

Zusätzliche Informationen über eine Transition.

Funktionen

webNavigation.getFrame()

Ruft Informationen zu einem bestimmten Frame ab. Ein Frame kann der oberste Frame in einem Tab oder ein verschachteltes iframe sein und wird eindeutig durch eine Tab-ID und eine Frame-ID identifiziert.

webNavigation.getAllFrames()

Gibt, basierend auf einer Tab-ID, Informationen über alle darin enthaltenen Frames zurück.

Ereignisse

webNavigation.onBeforeNavigate

Wird ausgelöst, bevor der Browser ein Navigationsereignis startet.

webNavigation.onCommitted

Wird ausgelöst, wenn eine Navigation festgeschrieben wird. Mindestens ein Teil des neuen Dokuments wurde vom Server empfangen, und der Browser hat sich entschieden, zum neuen Dokument zu wechseln.

webNavigation.onDOMContentLoaded

Wird ausgelöst, wenn das DOMContentLoaded-Ereignis auf der Seite ausgelöst wird.

webNavigation.onCompleted

Wird ausgelöst, wenn ein Dokument, einschließlich der von ihm referenzierten Ressourcen, vollständig geladen und initialisiert ist. Dies entspricht dem DOM load-Ereignis.

webNavigation.onErrorOccurred

Wird ausgelöst, wenn ein Fehler auftritt und die Navigation abgebrochen wird. Dies kann passieren, wenn entweder ein Netzwerkfehler aufgetreten ist, oder der Benutzer die Navigation abgebrochen hat.

webNavigation.onCreatedNavigationTarget

Wird ausgelöst, wenn ein neues Fenster oder ein neues Tab in einem bestehenden Fenster erstellt wird, um eine Navigation auszuführen: z. B. wenn der Benutzer einen Link in einem neuen Tab öffnet.

webNavigation.onReferenceFragmentUpdated

Wird ausgelöst, wenn der Fragment-Identifier einer Seite geändert wird.

webNavigation.onTabReplaced

Wird ausgelöst, wenn der Inhalt des Tabs durch ein anderes (meist vorher gerendertes) Tab ersetzt wird.

webNavigation.onHistoryStateUpdated

Wird ausgelöst, wenn die Seite die history API (2011) verwendet hat, um die in der Adressleiste angezeigte URL zu aktualisieren.

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
webNavigation
TransitionQualifier
TransitionQualifier.from_address_bar
TransitionType
TransitionType.auto_bookmark
TransitionType.auto_subframe
TransitionType.form_submit
TransitionType.generated
TransitionType.keyword
TransitionType.keyword_generated
TransitionType.link
TransitionType.manual_subframe
TransitionType.reload
TransitionType.start_page
TransitionType.typed
getAllFrames
getFrame
onBeforeNavigate
onCommitted
onCommitted.transitionQualifiers
onCommitted.transitionType
onCompleted
onCreatedNavigationTarget
onCreatedNavigationTarget.sourceProcessId
onCreatedNavigationTarget.windowId
onDOMContentLoaded
onErrorOccurred
onErrorOccurred.error
onHistoryStateUpdated
onHistoryStateUpdated.transitionQualifiers
onHistoryStateUpdated.transitionType
onReferenceFragmentUpdated
onReferenceFragmentUpdated.transitionQualifiers
onReferenceFragmentUpdated.transitionType
onTabReplaced

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

Beispielerweiterungen

Hinweis: Diese API basiert auf der chrome.webNavigation API von Chromium. Diese Dokumentation stammt aus web_navigation.json im Chromium-Code.