chrome.webNavigation

Beschreibung

Mit der chrome.webNavigation API können Sie sich Benachrichtigungen zum Status von laufenden Navigationsanfragen senden lassen.

Berechtigungen

webNavigation

Für alle chrome.webNavigation-Methoden und -Ereignisse muss die Berechtigung "webNavigation" im Erweiterungsmanifest deklariert werden. Beispiel:

{
  "name": "My extension",
  ...
  "permissions": [
    "webNavigation"
  ],
  ...
}

Konzepte und Nutzung

Ereignisreihenfolge

Bei einer erfolgreich abgeschlossenen Navigation werden Ereignisse in der folgenden Reihenfolge ausgelöst:

onBeforeNavigate -> onCommitted -> [onDOMContentLoaded] -> onCompleted

Jeder Fehler, der während des Vorgangs auftritt, führt zum Ereignis onErrorOccurred. Für eine bestimmte Navigation werden nach onErrorOccurred keine weiteren Ereignisse ausgelöst.

Wenn ein Navigationsframe Subframes enthält, wird sein onCommitted vor einem der onBeforeNavigate seiner untergeordneten Frames ausgelöst, während onCompleted nach allen onCompleted seiner untergeordneten Frames ausgelöst wird.

Wenn das Referenzfragment eines Frames geändert wird, wird das Ereignis onReferenceFragmentUpdated ausgelöst. Dieses Ereignis kann jederzeit nach onDOMContentLoaded ausgelöst werden, auch nach onCompleted.

Wenn die History API verwendet wird, um den Status eines Frames zu ändern (z.B. mit history.pushState()), wird ein onHistoryStateUpdated-Ereignis ausgelöst. Dieses Ereignis kann nach dem onDOMContentLoaded jederzeit ausgelöst werden.

Wenn bei einer Navigation eine Seite aus dem Back-Forward-Cache wiederhergestellt wurde, wird das Ereignis onDOMContentLoaded nicht ausgelöst. Das Ereignis wird nicht ausgelöst, weil der Inhalt des Inhalts bereits beim ersten Besuch der Seite geladen wurde.

Wenn eine Navigation mit Chrome Instant oder Instant Pages ausgelöst wurde, wird eine vollständig geladene Seite in den aktuellen Tab verschoben. In diesem Fall wird das Ereignis onTabReplaced ausgelöst.

Bezug zu webRequest-Ereignissen

Es gibt keine festgelegte Reihenfolge zwischen Ereignissen der webRequest API und den Ereignissen der webNavigation API. Es ist möglich, dass WebRequest-Ereignisse weiterhin für Frames empfangen werden, mit denen bereits eine neue Navigation gestartet wurde, oder dass die Navigation erst fortgesetzt wird, nachdem die Netzwerkressourcen bereits vollständig geladen wurden.

Im Allgemeinen stehen die webNavigation-Ereignisse in engem Zusammenhang mit dem in der UI angezeigten Navigationsstatus, während die webRequest-Ereignisse dem Status des Netzwerkstacks entsprechen, der für den Nutzer im Allgemeinen nicht transparent ist.

Tab-IDs

Nicht alle Navigationstabs entsprechen den tatsächlichen Tabs auf der Benutzeroberfläche von Chrome, z. B. einen Tab, der vorab gerendert wird. Auf diese Tabs kann nicht über die Tabs API zugegriffen werden. Sie können auch keine Informationen zu diesen Tabs anfordern, indem Sie webNavigation.getFrame() oder webNavigation.getAllFrames() aufrufen. Sobald ein solcher Tab ausgetauscht wurde, wird ein onTabReplaced-Ereignis ausgelöst, auf das über diese APIs zugegriffen werden kann.

Zeitstempel

Dabei ist zu beachten, dass einige technische Unregelmäßigkeiten bei der Verarbeitung unterschiedlicher Chrome-Prozesse durch das Betriebssystem dazu führen können, dass die Uhr zwischen dem Browser selbst und den Erweiterungsprozessen verzerrt wird. Das bedeutet, dass die Eigenschaft timeStamp des WebNavigation-Ereignisses timeStamp nur intern konsistent ist. Wenn Sie ein Ereignis mit einem anderen vergleichen, erhalten Sie den korrekten Offset zwischen ihnen. Ein Vergleich mit der aktuellen Zeit innerhalb der Erweiterung (z. B. mit (new Date()).getTime()) kann jedoch zu unerwarteten Ergebnissen führen.

Frame-IDs

Frames auf einem Tab können durch eine Frame-ID identifiziert werden. Die Frame-ID des Hauptframes ist immer 0, die ID der untergeordneten Frames ist eine positive Zahl. Sobald ein Dokument in einem Frame erstellt wurde, bleibt seine Frame-ID während der Lebensdauer des Dokuments konstant. Ab Chrome 49 ist diese ID auch für die Lebensdauer des Frames (über mehrere Navigationen hinweg) konstant.

Da Chrome mehrere Prozesse umfasst, werden für einen Tab möglicherweise unterschiedliche Prozesse verwendet, um die Quelle und das Ziel einer Webseite zu rendern. Wenn eine Navigation in einem neuen Prozess stattfindet, empfangen Sie möglicherweise Ereignisse sowohl von der neuen als auch von der alten Seite, bis die neue Navigation per Commit bestätigt wird (d.h., das Ereignis onCommitted wird für den neuen Hauptframe gesendet). Mit anderen Worten ist es möglich, dass mehrere ausstehende Sequenzen von webNavigation-Ereignissen mit derselben frameId vorhanden sind. Die Sequenzen lassen sich am Schlüssel processId unterscheiden.

Beachten Sie auch, dass während eines vorläufigen Ladevorgangs der Prozess mehrmals gewechselt werden kann. Dies geschieht, wenn die Last an eine andere Website weitergeleitet wird. In diesem Fall erhalten Sie wiederholte onBeforeNavigate- und onErrorOccurred-Ereignisse, bis Sie das letzte onCommitted-Ereignis erhalten.

Ein weiteres Konzept, das bei Erweiterungen problematisch ist, ist der Lebenszyklus des Frames. In einem Frame wird ein Dokument gehostet, das mit einer per Commit gespeicherten URL verknüpft ist. Das Dokument kann sich ändern (z. B. durch Navigieren), die frameId jedoch nicht. Daher ist es schwierig, etwas in einem bestimmten Dokument nur mit frameIds in Verbindung zu bringen. Wir führen das Konzept einer documentId ein, bei der es sich um eine eindeutige Kennung pro Dokument handelt. Wenn in einem Frame navigiert wird und ein neues Dokument geöffnet wird, ändert sich die ID. Dieses Feld ist nützlich, um zu ermitteln, wann Seiten ihren Lebenszyklusstatus (zwischen Pre-Rendering/Aktiv/Cache) ändern, da er gleich bleibt.

Übergangstypen und -qualifizierer

Das Ereignis webNavigation onCommitted hat die Attribute transitionType und transitionQualifiers. Der Übergangstyp ist derselbe wie in der history API verwendet. Darin wird beschrieben, wie der Browser zu dieser bestimmten URL navigiert ist. Außerdem können mehrere Übergangsqualifizierer zurückgegeben werden, die die Navigation genauer definieren.

Es gibt folgende Übergangsqualifizierer:

Übergangs-QualifierBeschreibung
"client_redirect"Während der Navigation erfolgte mindestens eine durch JavaScript- oder Meta-Refresh-Tags auf der Seite verursachte Weiterleitung.
"server_redirect"Während der Navigation erfolgte mindestens eine Weiterleitung, die durch HTTP-Header vom Server verursacht wurde.
„forward_back“Der Nutzer hat die Schaltfläche „Weiter“ oder „Zurück“ verwendet, um die Navigation zu starten.
„from_address_bar“Der Nutzer hat die Navigation über die Adressleiste (auch Omnibox genannt) gestartet.

Beispiele

Wenn Sie diese API testen möchten, installieren Sie das Beispiel für die webNavigation API aus dem Repository chrome-extension-sample.

Typen

TransitionQualifier

Chrome 44 und höher

Enum

"client_redirect"

"server_redirect"

"forward_back"

"from_address_bar"

TransitionType

Chrome 44 und höher

Ursache der Navigation. Es werden die in der History API definierten Übergangstypen verwendet. Es sind die gleichen Übergangstypen wie in der history API definiert, mit Ausnahme von "start_page" anstelle von "auto_toplevel" (aus Gründen der Abwärtskompatibilität).

Enum

"auto_bookmark"

"auto_subframe"

"manual_subframe"

"start_page"

"form_submit"

"keyword_generated"

Methoden

getAllFrames()

Versprechen
chrome.webNavigation.getAllFrames(
  details: object,
  callback?: function,
)

Ruft Informationen zu allen Frames eines bestimmten Tabs ab.

Parameters

  • Details

    Objekt

    Informationen zum Tab, aus dem alle Frames abgerufen werden sollen.

    • tabId

      Zahl

      Die ID des Tabs.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (details?: object[])=>void

    • Details

      Objekt[] optional

      Eine Liste von Frames im angegebenen Tab; null, wenn die angegebene Tab-ID ungültig ist.

      • documentId

        String

        Chrome 106 oder höher

        Eine UUID des geladenen Dokuments.

      • documentLifecycle
        Chrome 106 oder höher

        Der Lebenszyklus des Dokuments.

      • errorOccurred

        boolean

        True, wenn die letzte Navigation in diesem Frame durch einen Fehler unterbrochen wurde, d.h. das Ereignis onErrorOccurred ausgelöst wurde.

      • frameId

        Zahl

        Die ID des Frames. 0 gibt an, dass dies der Hauptframe ist; ein positiver Wert gibt die ID eines Subframes an.

      • frameType
        Chrome 106 oder höher

        Der Frame-Typ, in dem die Navigation aufgetreten ist.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Eine UUID des übergeordneten Dokuments, das diesem Frame gehört. Dieser Parameter wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        Die ID des übergeordneten Frames oder -1, wenn dies der Hauptframe ist.

      • processId

        Zahl

        Die ID des Prozesses, der den Renderer für diesen Frame ausführt.

      • url

        String

        Die URL, die derzeit mit diesem Frame verknüpft ist.

Rückgaben

  • Promise<object[]|undefined>

    Chrome 93 und höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

getFrame()

Versprechen
chrome.webNavigation.getFrame(
  details: object,
  callback?: function,
)

Ruft Informationen über den angegebenen Frame ab. Ein Frame bezieht sich auf einen <iframe> oder <Frame> einer Webseite und wird durch eine Tab-ID und eine Frame-ID identifiziert.

Parameters

  • Details

    Objekt

    Informationen zum Frame, zu dem Informationen abgerufen werden sollen.

    • documentId

      String optional

      Chrome 106 oder höher

      Die UUID des Dokuments. Wenn „frameId“ und/oder „tabId“ angegeben sind, werden sie validiert, damit sie mit dem Dokument übereinstimmen, das mit der angegebenen Dokument-ID gefunden wurde.

    • frameId

      Nummer optional

      Die ID des Frames im angegebenen Tab.

    • processId

      Nummer optional

      Seit Chrome 49 eingestellt

      Frames werden jetzt eindeutig über ihre Tab-ID und Frame-ID identifiziert. Die Prozess-ID wird nicht mehr benötigt und daher ignoriert.

      Die ID des Prozesses, der den Renderer für diesen Tab ausführt.

    • tabId

      Nummer optional

      Die ID des Tabs, in dem sich der Frame befindet.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (details?: object)=>void

    • Details

      Objekt optional

      Informationen über den angeforderten Frame, null, wenn die angegebene Frame-ID und/oder die Tab-ID ungültig sind.

      • documentId

        String

        Chrome 106 oder höher

        Eine UUID des geladenen Dokuments.

      • documentLifecycle
        Chrome 106 oder höher

        Der Lebenszyklus des Dokuments.

      • errorOccurred

        boolean

        True, wenn die letzte Navigation in diesem Frame durch einen Fehler unterbrochen wurde, d.h. das Ereignis onErrorOccurred ausgelöst wurde.

      • frameType
        Chrome 106 oder höher

        Der Frame-Typ, in dem die Navigation aufgetreten ist.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Eine UUID des übergeordneten Dokuments, das diesem Frame gehört. Dieser Parameter wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        Die ID des übergeordneten Frames oder -1, wenn dies der Hauptframe ist.

      • url

        String

        Die aktuell mit diesem Frame verknüpfte URL, wenn der durch die FrameId identifizierte Frame an einem Punkt auf dem jeweiligen Tab vorhanden war. Die Tatsache, dass eine URL mit einer bestimmten FrameId verknüpft ist, bedeutet nicht, dass der entsprechende Frame noch existiert.

Rückgaben

  • Promise<object|undefined>

    Chrome 93 und höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

Veranstaltungen

onBeforeNavigate

chrome.webNavigation.onBeforeNavigate.addListener(
  callback: function,
  filters?: object,
)

Wird ausgelöst, wenn eine Navigation erfolgt

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object)=>void

    • Details

      Objekt

      • Chrome 106 oder höher

        Der Lebenszyklus des Dokuments.

      • frameId

        Zahl

        0 gibt an, dass die Navigation im Fenster mit dem Tabinhalt erfolgt; ein positiver Wert gibt die Navigation in einem Subframe an. Frame-IDs sind für einen bestimmten Tab und Prozess eindeutig.

      • Chrome 106 oder höher

        Der Frame-Typ, in dem die Navigation aufgetreten ist.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Eine UUID des übergeordneten Dokuments, das diesem Frame gehört. Dieser Parameter wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        Die ID des übergeordneten Frames oder -1, wenn dies der Hauptframe ist.

      • processId

        Zahl

        Seit Chrome 50 eingestellt

        Die ProcessId ist für dieses Ereignis nicht mehr festgelegt, da der Prozess, der das resultierende Dokument rendert, erst bei onCommit bekannt ist.

        Der Wert -1.

      • tabId

        Zahl

        Die ID des Tabs, in dem die Navigation stattfinden wird.

      • timeStamp

        Zahl

        Die Zeit in Millisekunden seit Epoche, zu der der Browser kurz davor war, die Navigation zu starten.

      • url

        String

  • Filter

    Objekt optional

    • Bedingungen, die die aufgerufene URL erfüllen muss. Die Felder 'schemes' und 'ports' von UrlFilter werden für dieses Ereignis ignoriert.

onCommitted

chrome.webNavigation.onCommitted.addListener(
  callback: function,
  filters?: object,
)

Wird ausgelöst, wenn für eine Navigation ein Commit durchgeführt wird Das Dokument und die Ressourcen, auf die es verweist, wie Bilder und Subframes, werden möglicherweise noch heruntergeladen, aber mindestens ein Teil des Dokuments wurde vom Server empfangen und der Browser hat beschlossen, zum neuen Dokument zu wechseln.

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object)=>void

    • Details

      Objekt

      • documentId

        String

        Chrome 106 oder höher

        Eine UUID des geladenen Dokuments.

      • Chrome 106 oder höher

        Der Lebenszyklus des Dokuments.

      • frameId

        Zahl

        0 gibt an, dass die Navigation im Fenster mit dem Tabinhalt erfolgt; ein positiver Wert gibt die Navigation in einem Subframe an. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Frame-Typ, in dem die Navigation aufgetreten ist.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Eine UUID des übergeordneten Dokuments, das diesem Frame gehört. Dieser Parameter wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        Chrome 74 und höher

        Die ID des übergeordneten Frames oder -1, wenn dies der Hauptframe ist.

      • processId

        Zahl

        Die ID des Prozesses, der den Renderer für diesen Frame ausführt.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Navigation stattfindet.

      • timeStamp

        Zahl

        Die Zeit, zu der für die Navigation ein Commit durchgeführt wurde, in Millisekunden seit der Epoche.

      • transitionQualifiers

        Eine Liste von Übergangsqualifizierern.

      • transitionType

        Ursache der Navigation.

      • url

        String

  • Filter

    Objekt optional

    • Bedingungen, die die aufgerufene URL erfüllen muss. Die Felder 'schemes' und 'ports' von UrlFilter werden für dieses Ereignis ignoriert.

onCompleted

chrome.webNavigation.onCompleted.addListener(
  callback: function,
  filters?: object,
)

Wird ausgelöst, wenn ein Dokument einschließlich der Ressourcen, auf die es verweist, vollständig geladen und initialisiert wurde.

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object)=>void

    • Details

      Objekt

      • documentId

        String

        Chrome 106 oder höher

        Eine UUID des geladenen Dokuments.

      • Chrome 106 oder höher

        Der Lebenszyklus des Dokuments.

      • frameId

        Zahl

        0 gibt an, dass die Navigation im Fenster mit dem Tabinhalt erfolgt; ein positiver Wert gibt die Navigation in einem Subframe an. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Frame-Typ, in dem die Navigation aufgetreten ist.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Eine UUID des übergeordneten Dokuments, das diesem Frame gehört. Dieser Parameter wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        Chrome 74 und höher

        Die ID des übergeordneten Frames oder -1, wenn dies der Hauptframe ist.

      • processId

        Zahl

        Die ID des Prozesses, der den Renderer für diesen Frame ausführt.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Navigation stattfindet.

      • timeStamp

        Zahl

        Die Zeit in Millisekunden seit der Epoche, zu der das Dokument fertig geladen wurde.

      • url

        String

  • Filter

    Objekt optional

    • Bedingungen, die die aufgerufene URL erfüllen muss. Die Felder 'schemes' und 'ports' von UrlFilter werden für dieses Ereignis ignoriert.

onCreatedNavigationTarget

chrome.webNavigation.onCreatedNavigationTarget.addListener(
  callback: function,
  filters?: object,
)

Wird ausgelöst, wenn ein neues Fenster oder ein neuer Tab in einem vorhandenen Fenster zum Hosten einer Navigation erstellt wird

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object)=>void

    • Details

      Objekt

      • sourceFrameId

        Zahl

        Die ID des Frames mit „sourceTabId“, in dem die Navigation ausgelöst wird. 0 gibt den Hauptframe an.

      • sourceProcessId

        Zahl

        Die ID des Prozesses, der den Renderer für den Quell-Frame ausführt.

      • sourceTabId

        Zahl

        Die ID des Tabs, in dem die Navigation ausgelöst wird.

      • tabId

        Zahl

        ID des Tabs, auf dem die URL geöffnet wird

      • timeStamp

        Zahl

        Die Zeit in Millisekunden seit Epoche, zu der der Browser im Begriff war, eine neue Ansicht zu erstellen.

      • url

        String

        Die URL, die in einem neuen Fenster geöffnet werden soll.

  • Filter

    Objekt optional

    • Bedingungen, die die aufgerufene URL erfüllen muss. Die Felder 'schemes' und 'ports' von UrlFilter werden für dieses Ereignis ignoriert.

onDOMContentLoaded

chrome.webNavigation.onDOMContentLoaded.addListener(
  callback: function,
  filters?: object,
)

Wird ausgelöst, wenn das DOM der Seite vollständig erstellt ist, aber die referenzierten Ressourcen möglicherweise nicht vollständig geladen werden.

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object)=>void

    • Details

      Objekt

      • documentId

        String

        Chrome 106 oder höher

        Eine UUID des geladenen Dokuments.

      • Chrome 106 oder höher

        Der Lebenszyklus des Dokuments.

      • frameId

        Zahl

        0 gibt an, dass die Navigation im Fenster mit dem Tabinhalt erfolgt; ein positiver Wert gibt die Navigation in einem Subframe an. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Frame-Typ, in dem die Navigation aufgetreten ist.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Eine UUID des übergeordneten Dokuments, das diesem Frame gehört. Dieser Parameter wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        Chrome 74 und höher

        Die ID des übergeordneten Frames oder -1, wenn dies der Hauptframe ist.

      • processId

        Zahl

        Die ID des Prozesses, der den Renderer für diesen Frame ausführt.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Navigation stattfindet.

      • timeStamp

        Zahl

        Die Zeit in Millisekunden seit der Epoche, in der das DOM der Seite vollständig erstellt wurde.

      • url

        String

  • Filter

    Objekt optional

    • Bedingungen, die die aufgerufene URL erfüllen muss. Die Felder 'schemes' und 'ports' von UrlFilter werden für dieses Ereignis ignoriert.

onErrorOccurred

chrome.webNavigation.onErrorOccurred.addListener(
  callback: function,
  filters?: object,
)

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

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object)=>void

    • Details

      Objekt

      • documentId

        String

        Chrome 106 oder höher

        Eine UUID des geladenen Dokuments.

      • Chrome 106 oder höher

        Der Lebenszyklus des Dokuments.

      • error

        String

        Die Fehlerbeschreibung.

      • frameId

        Zahl

        0 gibt an, dass die Navigation im Fenster mit dem Tabinhalt erfolgt; ein positiver Wert gibt die Navigation in einem Subframe an. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Frame-Typ, in dem die Navigation aufgetreten ist.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Eine UUID des übergeordneten Dokuments, das diesem Frame gehört. Dieser Parameter wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        Chrome 74 und höher

        Die ID des übergeordneten Frames oder -1, wenn dies der Hauptframe ist.

      • processId

        Zahl

        Seit Chrome 50 eingestellt

        Die ProcessId ist für dieses Ereignis nicht mehr festgelegt.

        Der Wert -1.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Navigation stattfindet.

      • timeStamp

        Zahl

        Die Zeit, zu der der Fehler aufgetreten ist, in Millisekunden seit der Epoche.

      • url

        String

  • Filter

    Objekt optional

    • Bedingungen, die die aufgerufene URL erfüllen muss. Die Felder 'schemes' und 'ports' von UrlFilter werden für dieses Ereignis ignoriert.

onHistoryStateUpdated

chrome.webNavigation.onHistoryStateUpdated.addListener(
  callback: function,
  filters?: object,
)

Wird ausgelöst, wenn der Verlauf des Frames auf eine neue URL aktualisiert wurde. Bei allen zukünftigen Ereignissen für diesen Frame wird die aktualisierte URL verwendet.

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object)=>void

    • Details

      Objekt

      • documentId

        String

        Chrome 106 oder höher

        Eine UUID des geladenen Dokuments.

      • Chrome 106 oder höher

        Der Lebenszyklus des Dokuments.

      • frameId

        Zahl

        0 gibt an, dass die Navigation im Fenster mit dem Tabinhalt erfolgt; ein positiver Wert gibt die Navigation in einem Subframe an. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Frame-Typ, in dem die Navigation aufgetreten ist.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Eine UUID des übergeordneten Dokuments, das diesem Frame gehört. Dieser Parameter wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        Chrome 74 und höher

        Die ID des übergeordneten Frames oder -1, wenn dies der Hauptframe ist.

      • processId

        Zahl

        Die ID des Prozesses, der den Renderer für diesen Frame ausführt.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Navigation stattfindet.

      • timeStamp

        Zahl

        Die Zeit, zu der für die Navigation ein Commit durchgeführt wurde, in Millisekunden seit der Epoche.

      • transitionQualifiers

        Eine Liste von Übergangsqualifizierern.

      • transitionType

        Ursache der Navigation.

      • url

        String

  • Filter

    Objekt optional

    • Bedingungen, die die aufgerufene URL erfüllen muss. Die Felder 'schemes' und 'ports' von UrlFilter werden für dieses Ereignis ignoriert.

onReferenceFragmentUpdated

chrome.webNavigation.onReferenceFragmentUpdated.addListener(
  callback: function,
  filters?: object,
)

Wird ausgelöst, wenn das Referenzfragment eines Frames aktualisiert wurde Bei allen zukünftigen Ereignissen für diesen Frame wird die aktualisierte URL verwendet.

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object)=>void

    • Details

      Objekt

      • documentId

        String

        Chrome 106 oder höher

        Eine UUID des geladenen Dokuments.

      • Chrome 106 oder höher

        Der Lebenszyklus des Dokuments.

      • frameId

        Zahl

        0 gibt an, dass die Navigation im Fenster mit dem Tabinhalt erfolgt; ein positiver Wert gibt die Navigation in einem Subframe an. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Frame-Typ, in dem die Navigation aufgetreten ist.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Eine UUID des übergeordneten Dokuments, das diesem Frame gehört. Dieser Parameter wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        Chrome 74 und höher

        Die ID des übergeordneten Frames oder -1, wenn dies der Hauptframe ist.

      • processId

        Zahl

        Die ID des Prozesses, der den Renderer für diesen Frame ausführt.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Navigation stattfindet.

      • timeStamp

        Zahl

        Die Zeit, zu der für die Navigation ein Commit durchgeführt wurde, in Millisekunden seit der Epoche.

      • transitionQualifiers

        Eine Liste von Übergangsqualifizierern.

      • transitionType

        Ursache der Navigation.

      • url

        String

  • Filter

    Objekt optional

    • Bedingungen, die die aufgerufene URL erfüllen muss. Die Felder 'schemes' und 'ports' von UrlFilter werden für dieses Ereignis ignoriert.

onTabReplaced

chrome.webNavigation.onTabReplaced.addListener(
  callback: function,
)

Wird ausgelöst, wenn der Inhalt des Tabs durch einen anderen Tab ersetzt wird, der normalerweise zuvor vorab gerendert wurde

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object)=>void

    • Details

      Objekt

      • replacedTabId

        Zahl

        Die ID des Tabs, der ersetzt wurde.

      • tabId

        Zahl

        Die ID des Tabs, der den alten ersetzt hat.

      • timeStamp

        Zahl

        Die Zeit in Millisekunden seit der Epoche, zu der der Austausch stattfand.