window.onbeforeunload和window.onunload在Firefox,Safari,Opera中不起作用? [英] window.onbeforeunload and window.onunload is not working in Firefox , Safari , Opera?
问题描述
在我的聊天应用程序中,当我的应用程序关闭时,我需要得到用户的确认。
In my chat application I need to get confirmation from user , when my application closes.
所以我使用 window.onbeforeunload
用于确认提醒, window.onunload
用于
logout()。
So I used the window.onbeforeunload
for confirmation alert and window.onunload
for
logout().
-
但这两个功能都在IE和Chrome中运行。(应用程序运行正常)
But both functions are working in IE and Chrome.( Application works fine)
窗口。 onbeforeunload
在Opera中不起作用,我的消息不会在Firefox中显示。
window.onbeforeunload
not working in Opera and my message will not get displayed in Firefox.
window.onunload
无法在Safari,Opera和Firefox中使用。
window.onunload
not working in Safari , Opera and Firefox.
我的javaScript代码将是,
My javaScript code will be ,
// 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相同的功能,
I also tried the same function with 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>
推荐答案
我得到了的解决方案通过将Ajax异步请求更改为同步请求,在除Opera之外的所有浏览器中的onunload
。
xmlhttp.open("POST","LogoutAction",false);
除了 Opera 之外,它适用于所有浏览器。
It works well for all browsers except Opera.
这篇关于window.onbeforeunload和window.onunload在Firefox,Safari,Opera中不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!