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 July 2015.
Das pagehide
-Ereignis wird an ein Window
gesendet, wenn der Browser die aktuelle Seite ausblendet, um eine andere Seite aus der Sitzungshistorie anzuzeigen.
Beispielsweise erhält die aktuelle Seite ein pagehide
-Ereignis, wenn der Benutzer die Zurück-Schaltfläche des Browsers drückt, 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
, erbt von Event
.
Ereigniseigenschaften
PageTransitionEvent.persisted
Schreibgeschützt-
Gibt an, ob das Dokument aus einem Cache geladen wird.
Aliasnamen für Ereignishandler
Zusätzlich zur Window
-Schnittstelle ist die Ereignis-Handler-Eigenschaft onpagehide
auch auf den folgenden Zielen verfügbar:
Verwendungshinweise
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 vom App-Manager aus.
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 für dieses Ereignis die Seite nicht daran hindert, im bfcache enthalten zu sein.
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, um nach pagehide
-Ereignissen zu suchen und eine spezielle Behandlung vorzunehmen, wenn die Seite für eine mögliche Wiederverwendung gepuffert wird.
window.addEventListener(
"pagehide",
(event) => {
if (event.persisted) {
/* the page isn't being discarded, so it can be reused later */
}
},
false,
);
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
Siehe auch
- Das
pageshow
-Ereignis. - Page Lifecycle API bietet Best-Practice-Leitlinien zum Umgang mit dem Verhalten des Seitenlebenszyklus in Ihren Webanwendungen.
- PageLifecycle.js: Eine JavaScript-Bibliothek, die sich mit inkonsistentem Verhalten im Seitenlebenszyklus zwischen verschiedenen Browsern befasst.
- Back/forward cache erklärt, was der Back/Forward Cache ist und seine Auswirkungen auf verschiedene Ereignisse im Seitenlebenszyklus.