JS检测浏览器退出事件(onbeforeunload)

2018-09-14 2428点热度 0人点赞 0条评论

在body中绑定事件

把onbeforeunload事件绑定到html的根body中,不要绑定在frame或者iframe中的body。

<body onbeforeunload="return leave()">

定义onbeforeunload处理函数

在leave()函数中调用ajax方法进行会话等方面的处理,处理完成之后再leave()函数中return undefined;阻止浏览器弹出窗口提示用户。

<script type="text/javascript" language="javascript">
function leave() {
    logout();
    return undefined;
}   
function logout(){
    $.ajax({
        url:'/signOff.do',
        type: 'POST',
        data:{ 
            action:"logout"
        },
        dataType:"text",
        success: function(data){
        },
        error:function(data) {
        }
    });
}
</script>

这里需要注意2点:
1. logout()函数中的方法必须使用ajax方法;
2. return undefined;阻止浏览器弹出窗口。

王显锋

激情工作,快乐生活!

文章评论