Heim >Web-Frontend >js-Tutorial >Wie führe ich Code aus, bevor ein Benutzer das Browserfenster schließt oder die Seite aktualisiert?

Wie führe ich Code aus, bevor ein Benutzer das Browserfenster schließt oder die Seite aktualisiert?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-18 12:00:05369Durchsuche

How do I Execute Code Before a User Closes the Browser Window or Refreshes the Page?

Code vor dem Schließen des Fensters oder der Seitenaktualisierung ausführen

Um Code auszuführen, wenn ein Benutzer das Browserfenster schließt oder die Seite aktualisiert, sollten Sie die Verwendung von in Betracht ziehen window.onbeforeunload- und window.onunload-Ereignishandler. Diese Handler verhalten sich je nach Browser unterschiedlich.

Ereignishandler zuweisen

Sie können diese Ereignishandler entweder mithilfe der Eigenschaftszuweisung oder der Methode addEventListener festlegen:

// Property assignment
window.onbeforeunload = function() { 
  // Code to execute
};

// Event listener
window.addEventListener("beforeunload", function(e) { 
  // Code to execute
});

window.onbeforeunload-Ereignis

window.onbeforeunload wird häufig verwendet, um zu verhindern, dass Benutzer eine Seite mit nicht gespeicherten Änderungen verlassen. Wenn Sie jedoch keine Zeichenfolge zurückgeben oder event.returnValue festlegen, führt das Ereignis den Code stillschweigend aus.

window.onunload Event

window.onunload ist ein umfassenderes Ereignis, das kurz vor dem Entladen der Seite ausgelöst wird. Sie können damit Aufgaben wie das Verfolgen von Benutzeraktivitäten oder das Speichern von lokalem Speicher ausführen.

Hinweis:

  • window.onbeforeunload funktioniert möglicherweise nicht innerhalb von iframes, die von gelöscht wurden ihr übergeordnetes Element in Firefox (Stand August 2023).
  • Erwägen Sie die Verwendung von window.pagehide anstelle von window.onbeforeunload für Iframes in Firefox.

Das obige ist der detaillierte Inhalt vonWie führe ich Code aus, bevor ein Benutzer das Browserfenster schließt oder die Seite aktualisiert?. 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