webNavigation.onHistoryStateUpdated

Wird ausgelöst, wenn die Seite die History API verwendet hat, um die im Browser angezeigte URL in der Adressleiste zu aktualisieren. Alle zukünftigen Ereignisse für diesen Frame verwenden die aktualisierte URL.

Syntax

js
browser.webNavigation.onHistoryStateUpdated.addListener(
  listener,                   // function
  filter                      // optional object
)
browser.webNavigation.onHistoryStateUpdated.removeListener(listener)
browser.webNavigation.onHistoryStateUpdated.hasListener(listener)

Ereignisse haben drei Funktionen:

addListener(listener)

Fügt diesem Ereignis einen Listener hinzu.

removeListener(listener)

Stoppt das Lauschen dieses Ereignisses. Das Argument listener ist der zu entfernende Listener.

hasListener(listener)

Überprüfen Sie, ob listener für dieses Ereignis registriert ist. Gibt true zurück, wenn es lauscht, andernfalls false.

addListener Syntax

Parameter

listener

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

details

object. Details über das Navigationsereignis. Weitere Informationen finden Sie im Abschnitt details.

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 mindestens einem UrlFilter im 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.

processId Optional Veraltet

integer. Dieser Wert wird in modernen Browsern nicht gesetzt. Wenn er gesetzt wurde, 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 zeigt an, dass die Navigation im obersten Browsing-Kontext des Tabs stattfindet, nicht in einem verschachtelten <iframe>. Ein positiver Wert zeigt an, dass die Navigation in einem verschachtelten iframe stattfindet. Frame-IDs sind innerhalb eines bestimmten Tabs und Prozesses eindeutig.

timeStamp

number. Die Zeit, zu der die URL durch die History API geändert wurde, in Millisekunden seit der Epoch.

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.

Browser-Kompatibilität

Beispiele

Protokolliert die Ziel-URLs und zusätzliche Übergangsinformationen für onHistoryStateUpdated, wenn der Hostname der Ziel-URL "example.com" enthält oder mit "developer" beginnt.

js
const filter = {
  url: [{ hostContains: "example.com" }, { hostPrefix: "developer" }],
};

function logOnHistoryStateUpdated(details) {
  console.log(`onHistoryStateUpdated: ${details.url}`);
  console.log(`Transition type: ${details.transitionType}`);
  console.log(`Transition qualifiers: ${details.transitionQualifiers}`);
}

browser.webNavigation.onHistoryStateUpdated.addListener(
  logOnHistoryStateUpdated,
  filter,
);

Hinweis: Diese API basiert auf der Chromium-API chrome.webNavigation. Diese Dokumentation ist abgeleitet von web_navigation.json im Chromium-Code.