webNavigation.onReferenceFragmentUpdated
Wird ausgelöst, wenn der Fragmentbezeichner für eine Seite geändert wird. Beispielsweise, wenn eine Seite ein Inhaltsverzeichnis mittels Fragmenten implementiert und der Benutzer auf einen Eintrag im Inhaltsverzeichnis klickt, wird dieses Ereignis ausgelöst. Alle zukünftigen Ereignisse für diesen Frame verwenden die aktualisierte URL.
Syntax
browser.webNavigation.onReferenceFragmentUpdated.addListener(
listener, // function
filter // optional object
)
browser.webNavigation.onReferenceFragmentUpdated.removeListener(listener)
browser.webNavigation.onReferenceFragmentUpdated.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
listenerist der Listener, der entfernt werden soll. hasListener(listener)-
Überprüfen, ob
listenerfür dieses Ereignis registriert ist. Gibttruezurück, wenn es zuhört, andernfallsfalse.
addListener-Syntax
>Parameter
listener-
Die Funktion, die aufgerufen wird, wenn dieses Ereignis eintritt. Der Funktion wird folgendes Argument übergeben:
filterOptional-
object. Ein Objekt, das eine einzelne Eigenschafturlenthält, welche einArrayvonevents.UrlFilterObjekten ist. Wenn Sie diesen Parameter einschließen, wird das Ereignis nur für Übergänge zu URLs ausgelöst, die mindestens einemUrlFilterim Array entsprechen. Wenn Sie diesen Parameter weglassen, wird das Ereignis für alle Übergänge ausgelöst.
Zusätzliche Objekte
>details
tabId-
integer. Die ID des Tabs, in dem die Navigation stattfinden wird. url-
string. Die URL, zu der der gegebene Frame navigieren wird. frameId-
integer. Der Frame, in dem die Navigation stattfinden wird.0zeigt an, dass die Navigation im obersten Browsing-Kontext des Tabs und nicht in einem verschachtelten<iframe>erfolgt. Ein positiver Wert zeigt an, dass die Navigation in einem verschachtelten iframe stattfindet. Frame-IDs sind innerhalb eines bestimmten Tabs und Prozesses einzigartig. frameType-
string. Der Typ des Frames, in dem die Navigation stattfand. Gibt die Werte"outermost_frame","fenced_frame"und"sub_frame"zurück. parentFrameId-
integer. Die ID des Eltern-Frames. Wird auf-1gesetzt, wenn dies ein oberster Frame ist. documentId-
string. Eine UUID des geladenen Dokuments. parentDocumentId-
string. Eine UUID des Eltern-Dokuments, das den Frame besitzt. Wird nicht gesetzt, wenn es kein Eltern-Dokument gibt. documentLifecycle-
string. Der Lebenszyklus, in dem sich das Dokument befindet. Gibt die Werte"prerender","active","cached"und"pending_deletion"zurück. transitionType-
transitionType. Der Grund für die Navigation: zum Beispiel"link", wenn der Benutzer auf einen Link geklickt hat. transitionQualifiers-
ArrayvontransitionQualifier. Zusätzliche Informationen zur Navigation: zum Beispiel, ob es eine Server- oder Client-Weiterleitung gab. timeStamp-
number. Der Zeitpunkt, zu dem der Fragmentbezeichner für die Seite geändert wurde, in Millisekunden seit dem Unix-Epoch. processIdOptional Veraltet-
integer. Dieser Wert wird in modernen Browsern nicht gesetzt. Als er gesetzt war, stellte er die ID des Prozesses dar, der das Renderer für diesen Tab ausführte.
Beispiele
Protokolliert die Ziel-URLs und zusätzliche Übergangsinformationen für onReferenceFragmentUpdated, wenn der Hostname der Ziel-URL "example.com" enthält oder mit "developer" beginnt.
const filter = {
url: [{ hostContains: "example.com" }, { hostPrefix: "developer" }],
};
function logOnReferenceFragmentUpdated(details) {
console.log(`onReferenceFragmentUpdated: ${details.url}`);
console.log(`Transition type: ${details.transitionType}`);
console.log(`Transition qualifiers: ${details.transitionQualifiers}`);
}
browser.webNavigation.onReferenceFragmentUpdated.addListener(
logOnReferenceFragmentUpdated,
filter,
);
Browser-Kompatibilität
Hinweis:
Diese API basiert auf Chromiums chrome.webNavigation API. Diese Dokumentation ist abgeleitet von web_navigation.json im Chromium-Code.