一、刷新还是新建的判断方法
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);
}