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.

js
addEventListener("hashchange", (event) => {});
onhashchange = (event) => {};

Ereignistyp

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:

js
window.addEventListener(
  "hashchange",
  () => {
    console.log("The hash has changed!");
  },
  false,
);

Oder die onhashchange Ereignishandler-Eigenschaft verwenden:

js
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