webNavigation.onReferenceFragmentUpdated
Wird ausgelöst, wenn der Fragment-Identifier einer Seite geändert wird. Beispielsweise, wenn eine Seite ein Inhaltsverzeichnis anhand von Fragmenten implementiert und der Benutzer einen Eintrag im Inhaltsverzeichnis anklickt, wird dieses Ereignis ausgelöst. Alle zukünftigen Ereignisse für dieses 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)-
Stoppt das Lauschen auf dieses Ereignis. Das Argument
listenerist der zu entfernende Listener. hasListener(listener)-
Überprüft, ob
listenerfür dieses Ereignis registriert ist. Gibttruezurück, wenn es lauscht,falseandernfalls.
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, die einArrayvonevents.UrlFilterObjekten ist. Wenn Sie diesen Parameter einschließen, wird das Ereignis nur bei Übergängen 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 das angegebene Frame navigieren wird. frameId-
integer. Frame, in dem die Navigation ausgeführt werden wird.0bedeutet, dass die Navigation im obersten Browsing-Kontext des Tabs und nicht in einem eingebetteten<iframe>erfolgt. Ein positiver Wert bedeutet, dass die Navigation in einem eingebetteten iframe erfolgt. Frame-IDs sind eindeutig für einen gegebenen Tab und Prozess. frameType-
string. Der Typ des Frames, in dem die Navigation erfolgt ist. Gibt die Werte"outermost_frame","fenced_frame"und"sub_frame"zurück. parentFrameId-
integer. ID des übergeordneten Frames. Auf-1gesetzt, wenn es sich um einen Top-Level-Frame handelt. documentId-
string. Eine UUID des geladenen Dokuments. Weitere Informationen finden Sie im Artikel Work with documentId. parentDocumentId-
string. Eine UUID des übergeordneten Dokuments, das das Frame besitzt. Nicht gesetzt, wenn es kein übergeordnetes Element gibt. Weitere Informationen finden Sie im Artikel Work with documentId. 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: beispielsweise"link", wenn der Benutzer auf einen Link geklickt hat. transitionQualifiers-
ArrayvontransitionQualifier. Zusätzliche Informationen über die Navigation: zum Beispiel, ob es eine Server- oder Client-Umleitung gab. timeStamp-
number. Die Zeit, zu der der Fragment-Identifier der Seite geändert wurde, in Millisekunden seit der Epoche. processIdOptional-
integer. Dieser Wert wird in modernen Browsern nicht gesetzt. Wenn er gesetzt war, repräsentierte er die ID des Prozesses, der das Renderer für diesen Tab ausführte.
Beispiele
Protokolliert die Ziel-URLs und zusätzliche Informationen über Übergänge 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 Chromium's chrome.webNavigation API. Diese Dokumentation ist abgeleitet von web_navigation.json im Chromium-Code.