Heim >Web-Frontend >js-Tutorial >Wie führe ich JavaScript-Code aus, wenn ein Browserfenster geschlossen oder aktualisiert wird?

Wie führe ich JavaScript-Code aus, wenn ein Browserfenster geschlossen oder aktualisiert wird?

Barbara Streisand
Barbara StreisandOriginal
2024-11-22 02:04:14586Durchsuche

How do I Execute JavaScript Code When a Browser Window Closes or Refreshes?

JavaScript-Code beim Schließen des Fensters oder bei der Seitenaktualisierung ausführen

Wenn ein Benutzer ein Browserfenster schließt oder eine Seite aktualisiert, ist es oft wünschenswert, ihn auszuführen ein letzter Code. Ähnlich dem Onload-Ereignis, aber zum Schließen oder Aktualisieren gibt es zwei Hauptoptionen: onbeforeunload und onunload.

window.onbeforeunload und window.onunload

Diese beiden Ereignisse Mit Handlern können Sie Code ausführen, wenn ein Fenster geschlossen oder aktualisiert wird. Der Hauptunterschied besteht darin, dass onbeforeunload ausgelöst wird, bevor der Browser den Benutzer mit einem Bestätigungsdialog auffordert (z. B. „Seite verlassen?“ oder „Neu laden?“), während onunload ausgelöst wird, nachdem der Benutzer die Aktion bestätigt hat.

Verwendung:

Sie können diesen Event-Handlern Funktionen zuweisen, indem Sie entweder die Fenstereigenschaften direkt festlegen oder den addEventListener verwenden Methode.

Direkte Zuweisung:

window.onbeforeunload = function() {
  // Do something
};
window.onunload = function() {
  // Do something
};

addEventListener-Methode:

window.addEventListener('beforeunload', function(e) {
  // Do something
});
window.addEventListener('unload', function(e) {
  // Do something
});

Hinweis zu onbeforeunload :

Normalerweise wird onbeforeunload verwendet verhindern, dass der Benutzer die Seite verlässt (z. B. wenn er über nicht gespeicherte Daten verfügt). Sie können den Bestätigungsdialog jedoch verhindern, indem Sie keine Zeichenfolge zurückgeben oder event.returnValue festlegen.

Zusätzliche Überlegungen:

  • Iframe-Löschung: Das Ereignis beforeunload funktioniert nicht, wenn der Iframe von seinem übergeordneten Element gelöscht wird, aber die Ereignisse unload und pagehide funktionieren in den meisten modernen Fällen Browser.
  • Firefox-Fehler: Seit August 2023 gibt es in Firefox einen Fehler, bei dem Unload- und Pagehide-Ereignisse beim Löschen von Iframes nicht funktionieren.

Das obige ist der detaillierte Inhalt vonWie führe ich JavaScript-Code aus, wenn ein Browserfenster geschlossen oder aktualisiert wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn