Code beim Schließen des Browserfensters oder bei der Seitenaktualisierung ausführen
Oft ist es wünschenswert, bestimmte Aktionen auszuführen, wenn ein Benutzer ein Browserfenster schließt oder aktualisiert eine Webseite. Glücklicherweise stehen zwei Ereignishandler zur Verfügung, um diesen Bedarf zu decken: window.onbeforeunload und window.onunload.
window.onbeforeunload
Das onbeforeunload-Ereignis wird ausgelöst, wenn ein Benutzer versucht, eine Seite zu verlassen. Typischerweise wird es verwendet, um ein Bestätigungsfeld anzuzeigen, in dem der Benutzer aufgefordert wird, seine Auswahl zu bestätigen oder ihn daran zu hindern, die Seite zu verlassen, wenn er über nicht gespeicherte Daten verfügt. Indem Sie jedoch keine Zeichenfolge zurückgeben oder event.returnValue festlegen, können Sie verhindern, dass der Browser eine Nachricht anzeigt und Ihren Code unbeaufsichtigt ausführt.
window.onunload
Die Das onunload-Ereignis wird ausgelöst, wenn eine Seite aus dem Browser entladen wird. Es wird häufig verwendet, um Bereinigungsaufgaben wie das Entfernen aller verbleibenden Ereignis-Listener oder das Schließen von Datenbankverbindungen durchzuführen.
Implementierung
Sowohl onbeforeunload als auch onunload können Fenstereigenschaften oder zugewiesen werden mit der .addEventListener-Methode. Hier ist ein Beispiel:
// window property window.onbeforeunload = function() { // Do something }; // .addEventListener window.addEventListener("beforeunload", function(e) { // Do something });
Hinweis:
Bei Iframes werden onbeforeunload-Ereignisse nicht ausgelöst, wenn der Iframe von seinem übergeordneten Element gelöscht wird, sondern unload und Pagehide-Ereignisse tun dies. Allerdings weist Firefox derzeit einen Fehler auf, der verhindert, dass diese Ereignisse bei Iframe-Löschfällen ausgelöst werden, wodurch es unmöglich wird, Code unmittelbar vor dem Entfernen eines Iframes in Firefox auszuführen.
Das obige ist der detaillierte Inhalt vonWie führe ich Code beim Schließen des Browserfensters oder bei der Seitenaktualisierung aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!