在我的聊天应用程序中,当我的应用程序关闭时,我需要得到用户的确认。
所以我使用了 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>
最佳答案
很遗憾,这些浏览器不支持您使用的方法。为了支持我的回答(这种不支持的行为),我在下面提供了链接。
onbeforeunload
和 onunload
在 opera
中不工作...支持这个
onbeforeunload in Opera
http://www.zachleat.com/web/dont-let-the-door-hit-you-onunload-and-onbeforeunload/
虽然 onunload
事件不能完全起作用,但您可以使用 onunload
在用户单击链接以离开未保存的页面时显示警告形式。
onunload
无法在 safari
中工作......以支持此
https://www.webkit.org/blog/516/webkit-page-cache-ii-the-unload-event/
您可以尝试在 Safari 浏览器中使用 pagehide
事件来代替 onunload
。
onunload
不能在 firefox
中工作...支持这个
他们还没有在 FF 中提出解决方案
祝你好运。
关于javascript - window.onbeforeunload 和 window.onunload 在 Firefox、Safari、Opera 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14645011/