Heim >Web-Frontend >js-Tutorial >Wie implementiert man eine „Seite verlassen'? Bestätigungsaufforderung in älteren Browsern?
Einführung
Wenn Sie Textbearbeitungen oder andere Änderungen auf einer Webseite vornehmen und versuchen, die Seite zu verlassen, können Browser eine Bestätigung anzeigen Eingabeaufforderung, in der der Benutzer aufgefordert wird, seine Navigation zu bestätigen. Diese Funktion ist nützlich, um zu verhindern, dass Benutzer versehentlich nicht gespeicherte Änderungen verlieren.
Aktivieren der Eingabeaufforderung
Um diese Bestätigungsaufforderung für die Navigation in älteren Browsern (IE6-8, Firefox früher) zu aktivieren bis Version 4), weisen Sie der Eigenschaft window.onbeforeunload eine Funktionsreferenz zu:
window.onbeforeunload = function(e) { // For IE6-8 and Firefox prior to version 4 if (e) { e.returnValue = "Are you sure you want to leave?"; } // For Chrome, Safari, IE8+ and Opera 12+ return "Are you sure you want to leave?"; };
Deaktivieren der Eingabeaufforderung
Um die Eingabeaufforderung zur Navigationsbestätigung zu deaktivieren, entfernen Sie die Funktionsreferenz aus window.onbeforeunload:
window.onbeforeunload = null;
Überprüfung auf nicht gespeicherte Änderungen
Die Bestätigung des Benutzers wird unabhängig davon ausgelöst, ob nicht gespeicherte Änderungen auf der Seite vorhanden sind. Um nach nicht gespeicherten Änderungen zu suchen, können Sie Ihr bevorzugtes Validierungs-Framework oder eine benutzerdefinierte Lösung verwenden.
Mit jQuery können Sie beispielsweise ein Änderungsereignis an Formularfelder binden, um window.onbeforeunload festzulegen, wenn ein Feld eine Nicht-Änderung enthält -leerer Wert:
$('input').change(function() { if($(this).val() != "") { window.onbeforeunload = "Are you sure you want to leave?"; } });
Hinweis:
In modernen Browsern wird ein benutzerdefinierter Wert angezeigt Die Navigationsbestätigungsmeldung gilt als Sicherheitsrisiko und wurde entfernt. Browser zeigen jetzt nur generische Nachrichten an. Um die Navigationsaufforderung in modernen Browsern zu aktivieren oder zu deaktivieren, setzen oder entfernen Sie einfach window.onbeforeunload auf eine Funktionsreferenz ohne Rückgabewert.
Das obige ist der detaillierte Inhalt vonWie implementiert man eine „Seite verlassen'? Bestätigungsaufforderung in älteren Browsern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!