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

BCD tables only load in the browser

Beispielerweiterungen

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