Heim >Web-Frontend >js-Tutorial >Wie gehe ich unauffällig mit Fensterschließungs- und Seitenaktualisierungsereignissen um?

Wie gehe ich unauffällig mit Fensterschließungs- und Seitenaktualisierungsereignissen um?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-28 08:41:11937Durchsuche

How to Handle Window Closure and Page Refresh Events Unobtrusively?

Unauffälliges Fensterschließen und Seitenaktualisierungs-Ereignisbehandlung

Um Code beim Schließen eines Browserfensters oder beim Aktualisieren einer Seite auszuführen, eine kann die Ereignis-Listener window.onbeforeunload und window.onunload verwenden. Je nach Browser werden diese Listener unterschiedlich aufgerufen.

Die Syntax zum Zuweisen dieser Listener besteht entweder darin, sie direkt den Fenstereigenschaften zuzuweisen:

window.onbeforeunload = function(){
  // Code to execute on window closure or page refresh
};

Oder über die Methode addEventListener:

window.addEventListener("beforeunload", function(e){
  // Code to execute on window closure or page refresh
});

Standardmäßig wird der Onbeforeunload-Listener normalerweise verwendet, um zu verhindern, dass Benutzer eine Seite abrupt verlassen, insbesondere wenn nicht gespeicherte Daten vorhanden sind. Wenn Sie jedoch eine Rückgabezeichenfolge weglassen oder e.returnValue auf „falsy“ setzen, kann der Code ausgelöst werden, ohne dass ein Bestätigungsdialog angezeigt wird.

Bemerkenswert ist, dass das beforeunload-Ereignis innerhalb von Iframes möglicherweise nicht funktioniert, wenn es von ihrem übergeordneten Element gelöscht wird. In diesem Szenario in Chrome sind jedoch sowohl das Unload- als auch das Pagehide-Ereignis wirksam. Firefox hingegen weist einen Fehler auf, der verhindert, dass diese Ereignisse ausgelöst werden, wenn ein Iframe von seinem übergeordneten Element gelöscht wird.

Das obige ist der detaillierte Inhalt vonWie gehe ich unauffällig mit Fensterschließungs- und Seitenaktualisierungsereignissen um?. 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