Fenster: hashchange Ereignis
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Das hashchange
Ereignis wird ausgelöst, wenn sich der Fragmentbezeichner der URL ändert (der Teil der URL, der mit dem #
-Symbol beginnt und diesem folgt).
Dieses Ereignis wird nicht ausgelöst, wenn der Hash mit history.pushState()
oder history.replaceState()
geändert wird.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("hashchange", (event) => {});
onhashchange = (event) => {};
Ereignistyp
Ein HashChangeEvent
. Erbt von Event
.
Ereigniseigenschaften
HashChangeEvent.newURL
Schreibgeschützt-
Ein String, der die neue URL repräsentiert, zu der das Fenster navigiert.
HashChangeEvent.oldURL
Schreibgeschützt-
Ein String, der die vorherige URL repräsentiert, von der aus das Fenster navigiert wurde.
Ereignishandler-Aliase
Zusätzlich zur Window
-Schnittstelle ist die Ereignishandler-Eigenschaft onhashchange
auch auf den folgenden Zielen verfügbar:
Beispiele
Sie können das hashchange
Ereignis in einer addEventListener
Methode verwenden:
window.addEventListener(
"hashchange",
() => {
console.log("The hash has changed!");
},
false,
);
Oder die onhashchange
Ereignishandler-Eigenschaft verwenden:
function locationHashChanged() {
if (location.hash === "#cool-feature") {
console.log("You're visiting a cool feature!");
}
}
window.onhashchange = locationHashChanged;
Spezifikationen
Specification |
---|
HTML # event-hashchange |
HTML # handler-window-onhashchange |
Browser-Kompatibilität
Siehe auch
popstate
Ereignis