2016-06-15 13 views
6

Ich verwende das folgende Code-Snippet, um eine Warnung auszulösen, bevor die Seite geschlossen wird, aber Chrome scheint die Nachricht zu ignorieren und zeigt die Standardmeldung "Möchten Sie diese Site verlassen? Von Ihnen vorgenommene Änderungen werden möglicherweise nicht gespeichert". Wie kann ich Chrome dazu bringen, meine Nachricht anstelle der Standardnachricht anzuzeigen?Warnung vor dem Schließen der Seite: Wie ändert man die Standardmeldung von Chrome?

window.onbeforeunload = function(e) { 
    e.returnValue = "A search is in progress, do you really want to stop the search and close the tab?"; 
    return "A search is in progress, do you really want to stop the search and close the tab?"; 
} 
+0

Benutzerdefinierte Meldung angezeigt auf Chrom 50 – guest271314

+0

Es zwischen Browser variiert Anbieter, ob sie benutzerdefinierte Nachricht zulassen oder nicht. Ist dies nicht der Fall, können Sie nichts dagegen tun. – charlietfl

Antwort

0

Update: Veraltete in Chrome: https://developers.google.com/web/updates/2016/04/chrome-51-deprecations?hl=en

Versuchen Sie Folgendes:

window.onbeforeunload = function (e) { 
    e = e || window.event; 

    // For IE and Firefox prior to version 4 
    if (e) { 
     e.returnValue = 'A search is in progress, do you really want to stop the search and close the tab?'; 
    } 

    // For Safari 
    return 'A search is in progress, do you really want to stop the search and close the tab?'; 
}; 

Nachricht I in Chrome (beide individuelle und Standard) erhalten:

A Suche läuft, möchten Sie die Suche wirklich stoppen und Schließen Sie die Registerkarte?

Sind Sie sicher, dass Sie diese Seite verlassen möchten?

Quelle jsFiddle

+2

Veraltet in Chrome: https://developers.google.com/web/updates/2016/04/chrome-51-deprecations?hl=de –

+1

@Kairat Your jsFiddle zeigt keine benutzerdefinierte Nachricht an: Chrome 51.0.27 –

+0

@Dominique Vielen Dank. Das ist richtig! –

1

Ich erkannte erst vor kurzem, dass Chrome das Verhalten von onbeforeunload verändert hatte. Ich habe eine Workaround gefunden, die für die wichtigsten Browser funktioniert (getestet in Chrome, Firefox und IE, funktioniert die jsFiddle aus irgendeinem Grund nicht in Firefox, aber meine Website tut). Wenn Sie die jQuery-Benutzeroberfläche verwenden, können Sie beim Verlassen der Seite ein Dialogfenster aufrufen, in dem Sie erfahren, warum das Verlassen der aktuellen Seite ein Problem darstellt.

window.onbeforeunload = function (e) { 
    $('<div title="Warning!">A search is in progress, do you really want to stop the search and close the tab? If not, choose "Stay on page" on the browser alert.</div>').dialog({ 
     modal:true, 
     close: function(){$(this).dialog('destroy').remove();} 
    }); 
    return "Random message to trigger the browser's native alert."; 
} 

jsFiddle here

+4

Funktioniert Chrome 51 nicht weiter. –

Verwandte Themen