webNavigation.onHistoryStateUpdated
Wird ausgelöst, wenn die Seite die >history API verwendet, um die im Adressfeld des Browsers angezeigte URL zu aktualisieren. Alle zukünftigen Ereignisse für diesen Frame verwenden die aktualisierte URL.
Syntax
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 Zuhören dieses Ereignisses. Das
listener
-Argument ist der Listener, der entfernt werden soll. hasListener(listener)
-
Überprü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 eintritt. Der Funktion wird dieses Argument übergeben:
filter
Optional-
object
. Ein Objekt, das eine einzelne Eigenschafturl
enthält, die einArray
vonevents.UrlFilter
Objekten ist. Wenn Sie diesen Parameter hinzufügen, 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
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 war, repräsentierte er die ID des Prozesses, der das Renderer für diesen Tab ausführt. frameId
-
integer
. Frame, in dem die Navigation stattfinden wird.0
bedeutet, dass die Navigation im übergeordneten Browsing-Kontext des Tabs, nicht in einem verschachtelten<iframe>
, stattfindet. Ein positiver Wert bedeutet, dass die Navigation in einem verschachtelten iframe stattfindet. Frame-IDs sind eindeutig für einen bestimmten Tab und Prozess. timeStamp
-
number
. Die Zeit, zu der die URL von der History API 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
vontransitionQualifier
. Zusätzliche Informationen zur Navigation: zum Beispiel, ob es eine Server- oder Client-Weiterleitung gab.
Browser-Kompatibilität
Beispiele
Protokolliert die Ziel-URLs und zusätzlichen Übergangsinformationen für onHistoryStateUpdated
, wenn der Hostname der Ziel-URL "example.com" enthält oder mit "developer" beginnt.
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 wird abgeleitet von web_navigation.json
im Chromium-Code.