Fenster: hashchange-Ereignis
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Das hashchange-Ereignis wird ausgelöst, wenn sich der Fragmentbezeichner der URL geändert hat (der Teil der URL, der mit dem #-Symbol beginnt und darauf folgt).
Dieses Ereignis wird nicht ausgelöst, wenn der Hash mit history.pushState() oder history.replaceState() modifiziert wird.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("hashchange", (event) => { })
onhashchange = (event) => { }
Ereignistyp
Ein HashChangeEvent. Erbt von Event.
Ereigniseigenschaften
HashChangeEvent.newURLSchreibgeschützt-
Ein Zeichenfolgenwert, der die neue URL darstellt, zu der das Fenster navigiert.
HashChangeEvent.oldURLSchreibgeschützt-
Ein Zeichenfolgenwert, der die vorherige URL darstellt, von der das Fenster navigiert wurde.
Ereignis-Handler-Aliase
Zusätzlich zur Window-Schnittstelle ist die Ereignis-Handler-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!");
});
Oder verwenden Sie die onhashchange-Ereignis-Handler-Eigenschaft:
function locationHashChanged() {
if (location.hash === "#cool-feature") {
console.log("You're visiting a cool feature!");
}
}
window.onhashchange = locationHashChanged;
Spezifikationen
| Spezifikation |
|---|
| HTML> # event-hashchange> |
| HTML> # handler-window-onhashchange> |
Browser-Kompatibilität
Siehe auch
popstate-Ereignis