在我的聊天应用程序中,我需要在关闭应用程序时从user确认。
所以我使用了window.onbeforeunload确认警报和window.onunloadlogout()。
window.onbeforeunload
window.onunload
但是这两个功能都可以在IE和Chrome中使用。(应用程序运行正常)
window.onbeforeunload 在Opera中无法使用,并且我的消息不会在Firefox中显示。
window.onunload 在Safari,Opera和Firefox中不起作用。
我的javaScript代码为
// 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(); };
我也尝试过使用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>
onunload通过将Ajax异步请求更改为同步请求,我获得了除Opera以外的所有浏览器的解决方案。
onunload
xmlhttp.open("POST","LogoutAction",false);
它适用于 Opera 以外的所有浏览器。