在我的聊天应用程序中,当我的应用程序关闭时,我需要得到用户的确认.

So I used the window.onbeforeunload for confirmation alert and window.onunload for logout().

  1. 但这两种功能都在IE和Chrome中发挥作用.(应用程序运行良好)

  2. window.onbeforeunload在Opera中不工作,我的消息将不会在Firefox中显示

  3. window.onunload不在Safari、Opera和Firefox中工作

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();
};

我还用JQuerytry 了同样的功能,

<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>

推荐答案

I got the solution for onunload in all browsers except Opera by changing the Ajax asynchronous request into synchronous request.

xmlhttp.open("POST","LogoutAction",false);

It works well for all browsers except Opera.

Jquery相关问答推荐

为什么如果使用转换规模,juserui可拖动遏制不起作用

将div中的下一个2个标题分组

提高 jQuery Select 器性能的好方法?

jQuery ajax 调用默认超时值

Bootstrap 3 RC 1 中的 typeahead JavaScript 模块在哪里?

如何在 jQuery Select 器中定义 css :hover 状态?

如何在 jQuery 中获取浏览器滚动位置?

JSLint 消息:未使用的变量

使用 jQuery 将行添加到表的 tbody

如何正确卸载/销毁 VIDEO 元素

Twitter Bootstrap alert 可以淡入淡出吗?

jQuery用另一个类替换一个类

Bootstrap 3.0 弹出框和工具提示

使用jquery设置di​​v标签的值

如何使用jQuery在弹出窗口中预览输入类型=文件中的选定图像?

动态创建并提交表单

如何使 jQuery Contains 不区分大小写,包括 jQuery 1.8+?

如何在 JavaScript / jQuery 中获取对象的属性?

通过 javascript/jquery 删除/截断前导零

你如何记录jQuery中一个元素触发的所有事件?