window.onbeforeunload und window.onunload funktioniert nicht in Firefox, Safari, Opera?
In meinem chat-Anwendung, die ich brauche, um die Bestätigung von Benutzern , wenn meine Anwendung geschlossen wird.
Also habe ich die window.onbeforeunload
für Warnung und window.onunload
für
logout().
- Aber beide Funktionen arbeiten auch im IE und Chrome.( Anwendung funktioniert gut)
window.onbeforeunload
funktioniert nicht in Opera, und meine Nachricht wird nicht angezeigt im Firefox.window.onunload
funktioniert nicht in Safari , Opera und Firefox.
Mein javaScript-code wird ,
//Used for confirmation , to closing the window
window.onbeforeunload = function () {
return "Are you sure want to LOGOUT the session ?";
};
//Used to logout the session , when browser window was closed
window.onunload = function () {
if((sessionId != null)&&(sessionId!="null")&& (sessionId != ""))
logout();
};
Ich habe auch versucht die gleiche Funktion mit JQuery,
<script type="text/javascript">
$(window).on('beforeunload', function() {
return 'Are you sure want to LOGOUT the session ?';
});
$(window).unload(function() {
if ((sessionId != null) && (sessionId != "null") && (sessionId != "")) {
logout();
}
});
</script>
InformationsquelleAutor der Frage Human Being | 2013-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider, die Methoden, die Sie verwenden, werden nicht unterstützt in diesen Browsern. Meine Antwort (dieses unkooperative Verhalten) habe ich links unten.
onbeforeunload
undonunload
funktioniert nicht inopera
... um dies zu unterstützenObwohl die
onunload
event funktioniert nicht vollständig, die Sie verwenden könnenonunload
zeigen eine Warnung an, wenn ein Benutzer auf einen link klickt Weg zu navigieren von einer Seite, die mit einem nicht gespeicherten form.onunload
funktioniert nicht insafari
... um dies zu unterstützenKönnte man eher versuchen, mit den
pagehide
Ereignis im safari-browser statt deronunload
.onunload
funktioniert nicht infirefox
... um dies zu unterstützenSind Sie noch zu kommen mit einer Lösung, in FF zu
Wünschen Ihnen viel Glück cheers.
InformationsquelleAutor der Antwort Freakyuser
Ist hier die funktionierende Lösung für ie, firefox und chrome:
InformationsquelleAutor der Antwort faisale
War ich in der Lage, get it to work in IE und FF mit jQuery:
statt: entladen, onunload, oder onbeforeunload
InformationsquelleAutor der Antwort nathan hayfield
Hab ich die Lösung für
onunload
in allen Browsern außer Opera durch ändern der Ajax-asynchrone Anfrage synchrone Anfrage.Es gut funktioniert für alle Browser außer Oper.
InformationsquelleAutor der Antwort Human Being
Das onunload-Ereignis wird nicht aufgerufen, in allen Browsern. Schlimmer noch, Sie können nicht überprüfen Sie den Rückgabewert der onbeforeunload-Ereignis. Das hindert uns eigentlich preforming eine logout-Funktion.
Allerdings können Sie hack, um dieses.
Rufen logout erste, was in das onbeforeunload-Ereignis. dann den Benutzer auffordern. Wenn der Benutzer bricht Ihre logout, automatisch einloggen Sie zurück, indem Sie mit dem onfocus-Ereignis. Ein bisschen nach hinten, aber ich denke, es sollte funktionieren.
InformationsquelleAutor der Antwort leeway
Firefox einfach nicht angezeigt benutzerdefinierte onbeforeunload-Nachrichten.
Mozilla sagen, Sie sind protecing end-Benutzer vor schädlichen Websites, die möglicherweise zeigen, irreführender text.
InformationsquelleAutor der Antwort anoldermark