Heim > Web-Frontend > js-Tutorial > Wie führe ich Code beim Schließen des Browserfensters oder bei der Seitenaktualisierung aus?

Wie führe ich Code beim Schließen des Browserfensters oder bei der Seitenaktualisierung aus?

DDD
Freigeben: 2024-12-01 11:05:10
Original
207 Leute haben es durchsucht

How to Execute Code on Browser Window Close or Page Refresh?

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
});
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage