Heim > Web-Frontend > js-Tutorial > Wie kann verhindert werden, dass eine Seite mit nicht gespeicherten Änderungen versehentlich verlassen wird?

Wie kann verhindert werden, dass eine Seite mit nicht gespeicherten Änderungen versehentlich verlassen wird?

Susan Sarandon
Freigeben: 2024-12-12 14:20:10
Original
908 Leute haben es durchsucht

How to Prevent Accidental Navigation Away from a Page with Unsaved Changes?

So wird die Meldung „Sind Sie sicher, dass Sie diese Seite verlassen möchten?“ angezeigt. Wenn Änderungen übernommen werden

In einer modernen Webumgebung gilt die Anzeige benutzerdefinierter Navigationsaufforderungen als Sicherheitsrisiko und Browser unterstützen diese Funktionalität nicht mehr. Stattdessen zeigen Browser nur generische Meldungen an. Um die Navigationsaufforderung zu aktivieren oder zu deaktivieren, verwenden Sie einfach den folgenden Code:

// Enable navigation prompt
window.onbeforeunload = function() {
    return true;
};

// Remove navigation prompt
window.onbeforeunload = null;
Nach dem Login kopieren

Legacy Browser Support (Deprecated)

Für die Kompatibilität mit älteren Browsern wie z B. IE6-8 und Firefox 1-3.5, können Sie den folgenden Code verwenden, um eine benutzerdefinierte Navigation anzuzeigen Eingabeaufforderung:

var confirmOnPageExit = function (e) {
    // Define the message to be displayed
    var message = 'Confirm your navigation away from the page';

    // Handle compatibility with older browsers
    if (e) {
        e.returnValue = message;
    }

    // Return the message
    return message;
};

// Enable the navigation prompt
window.onbeforeunload = confirmOnPageExit;

// Disable the navigation prompt
window.onbeforeunload = null;
Nach dem Login kopieren

Um bei Verwendung eines Validierungsframeworks wie jQuery nach geänderten Werten zu suchen, können Sie Code ähnlich dem folgenden verwenden:

$('input').change(function() {
    // Check if the input value is not empty
    if( $(this).val() != "" ) {
        // Enable the navigation prompt
        window.onbeforeunload = confirmOnPageExit;
    }
});
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann verhindert werden, dass eine Seite mit nicht gespeicherten Änderungen versehentlich verlassen wird?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage