浏览器关闭事件兼容性

一般会有这样的一个场景,就是用户在关闭浏览器的时候我们需要让用户账号自动注销。

所以会用到浏览器的关闭事件。

现在市场上又有各种花里胡哨的浏览器,他们之间的兼容性又都不一样,所以做个兼容烦的要死。

接下来就说说这个关闭事件兼容,(只供参考

代码1:判断用户当前用的什么花里胡哨浏览器

var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
var isIE11 = userAgent.indexOf("rv:11.0") > -1; //判断是否是IE11浏览器
var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器

代码2:根据用户的花里胡哨浏览器去分别执行逻辑

if(!isIE && !isEdge && !isIE11) {//兼容chrome和firefox
    var _beforeUnload_time = 0, _gap_time = 0;
    var is_fireFox = navigator.userAgent.indexOf("Firefox")>-1;//是否是火狐浏览器
    window.onunload = function (){
        _gap_time = new Date().getTime() - _beforeUnload_time;
        if(_gap_time <= 5){
            $.post('/AdminController/logOn/?adminId='+adminId);//浏览器关闭
        }else{//浏览器刷新

        }
    }
    window.onbeforeunload = function (){
        _beforeUnload_time = new Date().getTime();
        if(is_fireFox){//火狐关闭执行
            $.post('/AdminController/logOn/?adminId='+adminId);//浏览器关闭
        }
    };
}else {//兼容ie8,9,10
        window.onbeforeunload = function() {
        $.ajax({
            type: "post",
            url: "/AdminController/logOn/",
            data:{"adminId": adminId},
            success: function() {
            },
            async:false
        });
    }
    window.onunload = onclose;
    function onclose(){

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的小菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值