Window: pagehide-Ereignis
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Das pagehide
-Ereignis wird an ein Window
gesendet, wenn der Browser die aktuelle Seite ausblendet, um eine andere Seite aus dem Sitzungsverlauf darzustellen.
Zum Beispiel, wenn der Benutzer die Zurück-Taste des Browsers klickt, erhält die aktuelle Seite ein pagehide
-Ereignis, bevor die vorherige Seite angezeigt wird.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("pagehide", (event) => { })
onpagehide = (event) => { }
Ereignistyp
Ein PageTransitionEvent
, das von Event
erbt.
Ereigniseigenschaften
PageTransitionEvent.persisted
Schreibgeschützt-
Gibt an, ob das Dokument aus einem Cache geladen wird.
Ereignis-Handler-Aliasse
Zusätzlich zur Window
-Schnittstelle ist die Ereignis-Handler-Eigenschaft onpagehide
auch bei den folgenden Zielen verfügbar:
Hinweise zur Verwendung
Wie die unload
und beforeunload
Ereignisse wird dieses Ereignis von Browsern, insbesondere auf Mobilgeräten, nicht zuverlässig ausgelöst. Zum Beispiel wird das pagehide
-Ereignis in folgendem Szenario überhaupt nicht ausgelöst:
- Ein mobiler Benutzer besucht Ihre Seite.
- Der Benutzer wechselt dann zu einer anderen App.
- Später schließt der Benutzer den Browser über den App-Manager.
Jedoch, im Gegensatz zu den unload
- und beforeunload
-Ereignissen, ist dieses Ereignis kompatibel mit dem Back/Forward-Cache (bfcache), sodass das Hinzufügen eines Listeners zu diesem Ereignis nicht verhindert, dass die Seite in den bfcache aufgenommen wird.
Das beste Ereignis, um das Ende einer Benutzersitzung zu signalisieren, ist das visibilitychange
Ereignis. In Browsern, die visibilitychange
nicht unterstützen, ist das pagehide
-Ereignis die beste Alternative.
Wenn Sie speziell versuchen, Seiten-Entlade-Ereignisse zu erkennen, ist das pagehide
-Ereignis die beste Option.
Sehen Sie sich das Page Lifecycle API an, um mehr darüber zu erfahren, wie dieses Ereignis mit anderen Ereignissen im Seitenlebenszyklus zusammenhängt.
Beispiele
In diesem Beispiel wird ein Ereignishandler eingerichtet, um auf pagehide
-Ereignisse zu achten und eine spezielle Behandlung durchzuführen, wenn die Seite für eine mögliche Wiederverwendung gespeichert wird.
window.addEventListener("pagehide", (event) => {
if (event.persisted) {
/* the page isn't being discarded, so it can be reused later */
}
});
Dies kann auch unter Verwendung der onpagehide
-Ereignis-Handler-Eigenschaft auf dem Window
geschrieben werden:
window.onpagehide = (event) => {
if (event.persisted) {
/* the page isn't being discarded, so it can be reused later */
}
};
Spezifikationen
Specification |
---|
HTML> # event-pagehide> |
Browser-Kompatibilität
Loading…
Siehe auch
- Das
pageshow
Ereignis. - Das Page Lifecycle API gibt Best Practices für die Handhabung des Seitenlebenszyklus in Ihren Webanwendungen.
- PageLifecycle.js: eine JavaScript-Bibliothek, die sich mit browserübergreifenden Inkonsistenzen im Seitenlebenszyklusverhalten befasst.
- Back/forward cache erklärt, was der Back/Forward-Cache ist und seine Auswirkungen auf verschiedene Seitenlebenszyklusereignisse.