Heim >Web-Frontend >js-Tutorial >Wie implementiert man eine „Seite verlassen'? Bestätigungsaufforderung in älteren Browsern?

Wie implementiert man eine „Seite verlassen'? Bestätigungsaufforderung in älteren Browsern?

Barbara Streisand
Barbara StreisandOriginal
2024-12-12 21:09:10795Durchsuche

How to Implement a

Wie zeige ich die Meldung „Sind Sie sicher, dass Sie diese Seite verlassen möchten?“ an. Eingabeaufforderung bei nicht gespeicherten Änderungen 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!

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