js(ajax)判断浏览器是关闭还是刷新

首先需要导入jquery文件(我的是jquery-3.4.1.js),然后在jsp文件里面写入以下js代码,因为网页关闭与网页刷新各自所需要的时间,我们可以从这方面下手来辨别,从而做出不同的响应。


<script>
    let beginTime = 0;//执行onbeforeunload的开始时间
    let differTime = 0;//时间差

    window.onbeforeunload = function () {
        beginTime = new Date().getTime();
    };

    window.onunload = function () {
        differTime = new Date().getTime() - beginTime;
        if (differTime <= 5) {
            // console.log("浏览器关闭")
            $.ajax({
                type: "POST", //请求方式是POST
                url: "${pageContext.request.contextPath}/user/logout.action?user=${currentUser.account}", //跳转到相应后台,清理session,退出操作
                dataType: "JSON", //数据类型是JSON
                cache: false, //不需要缓存
                success: function (msg) {  //执行成功后的提示
                    console.log(msg);
                },
                error: function (err) {   //执行失败的提示
                    console.log(err)
                }
            })
        } else { //当时间差>5时,就说刷新啦(这里需要注意的是这个时间差不是固定的,因为有些浏览器执行速度不一样,所以这个界限不一定是5)
            // console.log("浏览器刷新")
        }
    }
</script>

学习引用:https://blog.csdn.net/itlsq/article/details/81095323?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param

js(ajax)判断浏览器是关闭还是刷新

上一篇:jQuery基础学习


下一篇:ASP.Net Core -- 文件上传