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
Susan SarandonOriginal
2024-12-12 14:20:10927Durchsuche

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;

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;

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;
    }
});

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!

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