webNavigation.onCommitted
Wird ausgelöst, wenn eine Navigation festgeschrieben wird. Mindestens ein Teil des neuen Dokuments wurde vom Server empfangen und der Browser hat beschlossen, zum neuen Dokument zu wechseln.
Syntax
browser.webNavigation.onCommitted.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onCommitted.removeListener(listener)
browser.webNavigation.onCommitted.hasListener(listener)
Ereignisse haben drei Funktionen:
addListener(listener)
-
Fügt diesem Ereignis einen Listener hinzu.
removeListener(listener)
-
Hört auf, diesem Ereignis zuzuhören. Das Argument
listener
ist der Listener, der entfernt werden soll. hasListener(listener)
-
Prüft, ob
listener
für dieses Ereignis registriert ist. Gibttrue
zurück, wenn es zuhört, andernfallsfalse
.
addListener-Syntax
Parameter
listener
-
Die Funktion, die aufgerufen wird, wenn dieses Ereignis auftritt. Der Funktion wird dieses Argument übergeben:
filter
Optional-
object
. Ein Objekt, das eine einzelne Eigenschafturl
enthält, welche einArray
vonevents.UrlFilter
Objekten ist. Wenn Sie diesen Parameter angeben, wird das Ereignis nur für Übergänge zu URLs ausgelöst, die mit mindestens einemUrlFilter
im Array übereinstimmen. Wenn Sie diesen Parameter weglassen, wird das Ereignis für alle Übergänge ausgelöst.
Zusätzliche Objekte
details
documentId
-
string
. Eine UUID des geladenen Dokuments. parentDocumentId
-
string
. Eine UUID des übergeordneten Dokuments, das den Rahmen besitzt. Wird nicht gesetzt, wenn es keinen Elternteil gibt. documentLifecycle
-
string
. Der Lebenszyklus, in dem sich das Dokument befindet. Gibt die Werte"prerender"
,"active"
,"cached"
und"pending_deletion"
zurück. tabId
-
integer
. Die ID des Tabs, in dem die Navigation stattfinden wird. url
-
string
. Die URL, zu der der gegebene Rahmen navigieren wird. processId
Optional Veraltet-
integer
. Dieser Wert wird in modernen Browsern nicht gesetzt. Wenn er gesetzt war, repräsentierte er die ID des Prozesses, der den Renderer für diesen Tab ausführte. frameId
-
integer
. Der Rahmen, in dem die Navigation stattfinden wird.0
gibt an, dass die Navigation im obersten Browsing-Kontext des Tabs erfolgt, nicht in einem verschachtelten<iframe>
. Ein positiver Wert gibt an, dass die Navigation in einem verschachtelten iframe erfolgt. Rahmen-IDs sind für einen gegebenen Tab und Prozess eindeutig. parentFrameId
-
integer
. ID des Elternrahmens dieses Rahmens. Auf-1
gesetzt, wenn es sich um einen obersten Rahmen handelt. frameType
-
string
. Der Rahmentyp, in dem die Navigation erfolgt ist. Gibt die Werte"outermost_frame"
,"fenced_frame"
und"sub_frame"
zurück. timeStamp
-
number
. Die Zeit, zu der die Navigation festgeschrieben wurde, in Millisekunden seit der Epoche. transitionType
-
transitionType
. Der Grund für die Navigation. (Beispielsweise"link"
, wenn der Benutzer auf einen Link geklickt hat, oder"reload"
, wenn der Benutzer die Seite neu geladen hat.) transitionQualifiers
-
Array
vontransitionQualifier
. Zusätzliche Informationen zur Navigation: beispielsweise, ob es eine server- oder clientseitige Weiterleitung gab.
Beispiele
Gibt die Ziel-URLs und zusätzliche Übergangsinformationen für onCommitted
aus, wenn der Hostname der Ziel-URL "example.com" enthält oder mit "developer" beginnt.
const filter = {
url: [{ hostContains: "example.com" }, { hostPrefix: "developer" }],
};
function logOnCommitted(details) {
console.log(`target URL: ${details.url}`);
console.log(`transition type: ${details.transitionType}`);
console.log(`transition qualifiers: ${details.transitionQualifiers}`);
}
browser.webNavigation.onCommitted.addListener(logOnCommitted, filter);
Beispielerweiterungen
Browser-Kompatibilität
Hinweis:
Diese API basiert auf Chromiums chrome.webNavigation
API. Diese Dokumentation wurde abgeleitet aus web_navigation.json
im Chromium-Code.