Window: pagehide 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 pagehide Ereignis wird an ein Window gesendet, wenn der Browser die aktuelle Seite verbirgt, um eine andere Seite aus dem Sitzungsverlauf anzuzeigen.
Beispielsweise erhält die aktuelle Seite ein pagehide Ereignis, bevor die vorherige Seite angezeigt wird, wenn der Benutzer auf die Zurück-Schaltfläche des Browsers klickt.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("pagehide", (event) => { })
onpagehide = (event) => { }
Ereignistyp
Ein PageTransitionEvent. Erbt von Event.
Ereignishandler-Aliase
Zusätzlich zur Window Schnittstelle ist die Ereignishandler-Eigenschaft onpagehide auch auf den folgenden Zielen verfügbar:
Anmerkungen zur Verwendung
Wie die Ereignisse unload und beforeunload wird dieses Ereignis von Browsern, insbesondere auf mobilen Geräten, nicht zuverlässig ausgelöst. Beispielsweise 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.
Im Gegensatz zu den Ereignissen unload und beforeunload ist dieses Ereignis jedoch mit dem back/forward cache (bfcache) kompatibel, 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 nächstbeste Alternative.
Wenn Sie speziell versuchen, das Entladen von Seiten zu erkennen, ist das pagehide Ereignis die beste Option.
Siehe den Page Lifecycle API Leitfaden für weitere Informationen darüber, wie sich dieses Ereignis auf andere Ereignisse im Seitenlebenszyklus bezieht.
Beispiele
In diesem Beispiel wird ein Ereignishandler eingerichtet, der auf pagehide Ereignisse achtet und eine spezielle Handhabung vornimmt, 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 Ereignishandler-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
| Spezifikation |
|---|
| HTML> # event-pagehide> |
Browser-Kompatibilität
Siehe auch
- Das
pageshowEreignis. - Page Lifecycle API bietet Best-Practice-Empfehlungen zur Handhabung des Seitenlebenszyklusverhaltens in Ihren Webanwendungen.
- PageLifecycle.js: Eine JavaScript-Bibliothek, die sich mit browserübergreifenden Inkonsistenzen im Seitenlebenszyklusverhalten befasst.
- Back/forward cache erklärt, was der Rückwärts-/Vorwärts-Cache ist und seine Auswirkungen auf verschiedene Seitenlebenszyklusereignisse.