webNavigation.onReferenceFragmentUpdated

Ausgelöst, wenn der Fragmentbezeichner einer Seite geändert wird. Wenn zum Beispiel eine Seite ein Inhaltsverzeichnis mit Fragmenten implementiert und der Benutzer auf einen Eintrag im Inhaltsverzeichnis klickt, wird dieses Ereignis ausgelöst. Alle zukünftigen Ereignisse für dieses Frame verwenden die aktualisierte URL.

Syntax

js
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 listener ist der zu entfernende Listener.

hasListener(listener)

Überprüft, ob listener für dieses Ereignis registriert ist. Gibt true zurück, wenn es zuhört, andernfalls false.

addListener-Syntax

Parameter

listener

Die Funktion, die aufgerufen wird, wenn dieses Ereignis eintritt. Der Funktion wird folgendes Argument übergeben:

details

object. Details zum Navigationsevent. Siehe den Abschnitt details für weitere Informationen.

filter Optional

object. Ein Objekt, das eine einzige Eigenschaft url enthält, die ein Array von events.UrlFilter Objekten ist. Wenn Sie diesen Parameter einschließen, wird das Ereignis nur für Übergänge zu URLs ausgelöst, die mit mindestens einem UrlFilter im Array übereinstimmen. 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.

processId Optional Veraltet

integer. Dieser Wert wird in modernen Browsern nicht gesetzt. Wenn er gesetzt war, stellte er die ID des Prozesses dar, der den Renderer für diesen Tab ausführte.

frameId

integer. Frame, in dem die Navigation stattfinden wird. 0 bedeutet, dass die Navigation im Top-Level-Browsing-Kontext des Tabs stattfindet, nicht in einem verschachtelten <iframe>. Ein positiver Wert bedeutet, dass die Navigation in einem verschachtelten iframe stattfindet. Frame-IDs sind für einen gegebenen Tab und Prozess eindeutig.

parentFrameId

integer. ID des übergeordneten Frames dieses Frames. Auf -1 gesetzt, wenn dies ein Top-Level-Frame ist.

timeStamp

number. Die Zeit, zu der der Fragmentbezeichner der Seite geändert wurde, in Millisekunden seit der Epoche.

transitionType

transitionType. Der Grund für die Navigation: zum Beispiel "link", wenn der Benutzer auf einen Link geklickt hat.

transitionQualifiers

Array von transitionQualifier. Zusätzliche Informationen über die Navigation: zum Beispiel, ob es eine Server- oder Client-Weiterleitung gab.

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.

js
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.