刷新:
//对于ie,谷歌,360:
//页面加载时只执行onload
//页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件。
//页面关闭时,先onbeforeunload事件,再onunload事件。
//对于火狐:
//页面刷新时,只执行onunload;页面关闭时,只执行onbeforeunload事件
刷新的时候先onbeforeunload,然后取服务端请求数据,在新页面即将替换旧页面时onunload事件,而页面关闭时,先onbeforeunload事件,再立即onunload事件。那么在刷新的时候,onbeforeunload与onunload之间的时间肯定比关闭的时候时间长,经过测试确实如此。
关闭:
使用onunload或onbeforeunload可以监听浏览器关闭事件,但是无法区分关闭与刷新。以下js代码可以部分监听关闭浏览器的事件!
//鼠标相对于用户屏幕的水平位置 - 窗口左上角相对于屏幕左上角的水平位置 = 鼠标在当前窗口上的水平位置
var n = windoweventscreenX - windowscreenLeft;
//鼠标在当前窗口内时,n<m,b为false;鼠标在当前窗口外时,n>m,b为true。20这个值是指关闭按钮的宽度
var b = n > documentdocumentElementscrollWidth-20;
//鼠标在客户区内时,windoweventclientY>0;鼠标在客户区外时,windoweventclientY<0
if(b && windoweventclientY < 0 || windoweventaltKey || windoweventctrlKey){
关闭浏览器时你想做的事
}else if(eventclientY > documentbodyclientHeight || eventaltKey){
关闭浏览器时你想做的事
}
这段js能监听到鼠标点击浏览器关闭按钮、浏览器状态栏鼠标右键d出菜单中的关闭以及各种快捷键。但是双击浏览器坐上角图标关闭浏览器和关闭标签页无法监听。
1、将historygo(-1)改为 locationhref="indexhtml";
2、删除语句windowreload();
3、主要原因:historygo(-1)是取浏览器缓存中的
4、希望能帮到你。
还有一种方法:
1、historygo(-1)后,加上以下一句:
historygo(0);
2、删除语句windowreload();
3、这样做的目的是跳转后刷新
我试过了,可以实现。
定义一个全局变量,比如
var global = 0;
if(global > 0)
alert("页面未刷新");
else
global++;
当页面加载时,即把全局变量修改值。
以上就是关于javascript判断网页是关闭还是刷新全部的内容,包括:javascript判断网页是关闭还是刷新、js刷新页面、js 如何判断页面执行了刷新 *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)