js获取关闭浏览器事件
2021-01-20 03:13
标签:获取 属性 事件 java 关闭 remove strong func rip 经过测试,谷歌和火狐是支持的。 js获取关闭浏览器事件 标签:获取 属性 事件 java 关闭 remove strong func rip 原文地址:https://www.cnblogs.com/loong-hon/p/13328492.html很多时候我们都在困扰,如何捕获浏览器关闭事件,网上虽然有很多方法,但都不理想,后来终于找到了一个很好地实现方法,大家可以试试。
Onunload与Onbeforeunload
Onunload,onbeforeunload都是在刷新或关闭时调用,可以在/*
* 使用window.onbeforeunload获取关闭事件,但是这个事件a标签跳转也会调用,
* 所以通过flag标识为false时,href跳转后禁用后续的onclick事件。
* */
var isOnloadFlag = $(‘#isOnloadFlag‘).val(); //默认是true
//所有的a标签添加class 属性onUnload,点击a标签的时候通过参数移除onbeforeunload事件
$(".onUnload").on("click", function (e) {
//$(this).removeAttr("onclick"); //这个移除不了onbeforeunload事件
//var flag = $(‘#isOnloadFlag‘).val();
isOnloadFlag = false;
var url = $(‘.onUnload‘).attr(‘href‘);
window.location.href = url;
});
//
window.onbeforeunload = function(e){
var flagThis = $(‘#isOnloadFlag‘).val();
var flagbefore = isOnloadFlag;
if(flagThis&&flagbefore){
$.getJSONNoCache("/onUnload.action","GET",{},"text",false,function(data){
if(data)
{
//这里写自己的代码
}
else
{
}
},function(){
});
}
}
window.onunload = onunload_handler;
function onunload_handler(){
$.getJSONNoCache("/onUnload.action","GET",{},"text",false,function(data){
if(data)
{
}
else
{
}
},function(){
});
}