jquery 判断页面是第一次启动还是刷新 或者 是关闭还是刷新

一、刷新还是新建的判断方法

jquery代码:

    if(!window.name){
            alert("第一次开这个窗口!name值"+ window.name);
            window.name = 'test';
     
    }else{
            alert('刷新操作 name值:'+ window.name);
    }

通过赋值判断window.name的值获取页面的状态是刷新还是新建的。

二、判断浏览器是刷新还是关闭操作

jquery代码:

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("${ctx}/bi?t="+_beforeUnload_time,{msg:"浏览器关闭",time:_gap_time},function(json){},"text");
        else{
          <span style="color:#ff6666;"> <strong> //IE11 浏览器测试刷新后台输出为null,但是也走这个方法</strong></span>
            $.post("${ctx}//bi?t="+_beforeUnload_time,{msg:"浏览器刷新",time:_gap_time},function(json){},"text");
        }
    }
    window.onbeforeunload = function (){
        _beforeUnload_time = new Date().getTime();
        if(is_fireFox)//火狐关闭执行
            $.post("${ctx}/bi?t="+_beforeUnload_time,{msg:"火狐关闭"},function(json){},"text");
    };

服务端SpringMVC代码实现:

    @ResponseBody
    @RequestMapping(value = "/bi", method = RequestMethod.POST)
    public void bi(String msg,String time){
        System.out.println(msg+",间隔:"+time);
    }

猜你喜欢

转载自blog.csdn.net/qq_32849999/article/details/87107538