谷歌浏览器onbeforeunload 谷歌浏览器 安卓下载
老铁们,大家好,相信还有很多朋友对于谷歌浏览器onbeforeunload和谷歌浏览器 安卓下载的相关问题不太懂,没关系,今天就由我来为大家分享分享谷歌浏览器onbeforeunload以及谷歌浏览器 安卓下载的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
本文目录
- 基于JavaScript判断浏览器到底是关闭还是刷
- 怎么判断是手动刷新浏览器还是程序刷新浏览器
- ...浏览器事件之chrome浏览器真支持onbeforeunload事件吗
- js区分浏览器页面是刷新还是关闭
- 在js中,浏览器关闭还是刷新应该怎么判断
- 监听浏览器关闭事件
一、基于JavaScript判断浏览器到底是关闭还是刷
//页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件。
//页面关闭时,先onbeforeunload事件,再onunload事件。
//页面刷新时,只执行onunload;页面关闭时,只执行onbeforeunload事件
刷新的时候先onbeforeunload,然后取服务端请求数据,在新页面即将替换旧页面时onunload事件,而页面关闭时,先onbeforeunload事件,再立即onunload事件。那么在刷新的时候,onbeforeunload与onunload之间的时间肯定比关闭的时候时间长,经过测试确实如此。
使用onunload或onbeforeunload可以监听浏览器关闭事件,但是无法区分关闭与刷新。以下js代码可以部分监听关闭浏览器的事件!
//鼠标相对于用户屏幕的水平位置-窗口左上角相对于屏幕左上角的水平位置=鼠标在当前窗口上的水平位置
var n= window.event.screenX- window.screenLeft;
//鼠标在当前窗口内时,n<m,b为false;鼠标在当前窗口外时,n>m,b为true。20这个值是指关闭按钮的宽度
var b= n> document.documentElement.scrollWidth-20;
//鼠标在客户区内时,window.event.clientY>0;鼠标在客户区外时,window.event.clientY<0
if(b&& window.event.clientY< 0|| window.event.altKey|| window.event.ctrlKey){
}else if(event.clientY> document.body.clientHeight|| event.altKey){
这段js能监听到鼠标点击浏览器关闭按钮、浏览器状态栏鼠标右键弹出菜单中的关闭以及各种快捷键。但是双击浏览器坐上角图标关闭浏览器和关闭标签页无法监听。
二、怎么判断是手动刷新浏览器还是程序刷新浏览器
1、一、目前搜出来比较普遍的根据beforunload以及unload执行的间隔时间
2、window.onbeforeunload=function(e){//执行该事件时将当前时间存入cookie
3、 this.$cookies.set('_onbeforeTime',new Date().getTime());//格式:名称,值,时长(可不填)
4、 this._unloadTime=new Date().getTime();
5、 this._onbeforeTime=this.$cookies.get('_onbeforeTime');//读取cookie值
6、 this._gap_time=this._unloadTime-this._onbeforeTime;//两个事件执行间隔时间
7、/**判断间隔时间,根据个人浏览器性能而定,需要进行测试。
8、/*这里测试出的数据关闭浏览器是在0~8ms
9、/*不同浏览器数据不同,火狐在关闭浏览器时时间差在0~20ms,刷新则在15ms以上
10、 if(!this.isLogin) window.localStorage.clear();
11、 this.$cookies.remove()//清除cookie缓存
12、由于不同浏览器之间两个方法的执行间隔时间不同,因此该方法会不太稳定,建议多测试找到一个稳定的间隔数值
13、二、原理同上,根据unload以及load的间隔时间判断
14、一般来说,在刷新时两个方法是紧接着执行的,间隔时间相较于重新打开浏览器而言会小很多,同样的,间隔时间需要多做测试取准确值,此方法相较于第一个方法而言,准确度会高很多
15、window.onunload=function(e){//执行该事件时将当前时间存入cookie
16、 this.$cookies.set('_onbeforeTime',new Date().getTime());//格式:名称,值,时长(可不填)
17、 this._unloadTime=new Date().getTime();
18、 this._onbeforeTime=this.$cookies.get('_onbeforeTime');//读取cookie值
19、 this._gap_time=this._unloadTime-this._onbeforeTime;//两个事件执行间隔时间
20、/**判断间隔时间,需要进行测试。
21、/*这里测试出的数据关闭浏览器是在10000ms以上
22、 if(this._gap_time> 10000){
23、 if(!this.isLogin) window.localStorage.clear();
24、 this.$cookies.remove()//清除cookie缓存
25、三、根据window.performance.navigation.type属性判断(该属性返回一个整数值,表示网页的加载来源,可能有以下4种情况):
26、0:网页通过点击链接、地址栏输入、表单提交、脚本操作等方式加载,相当于常数performance.navigation.TYPE_NAVIGATE。
27、1:网页通过“重新加载”按钮或者location.reload()方法加载,相当于常数performance.navigation.TYPE_RELOAD。
28、2:网页通过“前进”或“后退”按钮加载,相当于常数performance.navigation.TYPE_BACK_FORWARD。
29、255:任何其他来源的加载,相当于常数performance.navigation.TYPE_RESERVED。
30、四、在window上添加属性进行区分是否被刷新或者是第一次加载,即使页面刷新, name属性值也不会被重置,除非手动关闭当前页面
31、五、(只限于谷歌浏览器)根据window.chorme.loadTime().navigation
三、...浏览器事件之chrome浏览器真支持onbeforeunload事件吗
chrome浏览器真的支持onbeforeunload事件:
<title>onbeforeunload</title>
<bodyonbeforeunload="close();">
<divid="div1">dfdfdf</div>
<scripttype='text/javascript'>
vardiv1=document.getElementById('div1');
div1.innerHTML='11111111111111111111111111111111111111111111111111111111';
</script>
4.运行代码,按 F5刷新网页的一瞬间可以看到里面的文字变成 1111...了,证明浏览器已经调用了 onbeforeunload事件;
4.运行代码,按 F5刷新网页的一瞬间可以看到里面的文字变成 1111...了,证明浏览器已经调用了 onbeforeunload事件;
总结:虽然浏览器调用onbeforeunload事件,但是无法阻止浏览器关闭
四、js区分浏览器页面是刷新还是关闭
页面刷新时先执行onbeforeunload,然后onunload,最后onload。
//页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件。
//页面关闭时,先onbeforeunload事件,再onunload事件。
//页面刷新时,只执行onunload;页面关闭时,只执行onbeforeunload事件
那么回归正题,到底怎样判断浏览器是关闭还是刷新?我按照网上的各种说法实验千百遍,都未成功,其中各种说法如下:
window.onbeforeunload=function()//author:meizz
varn=window.event.screenX-window.screenLeft;
varb=n>document.documentElement.scrollWidth-20;
if(b&&window.event.clientY<0||window.event.altKey)
window.event.returnValue="";//这里可以放置你想做的操作代码
window.onbeforeunload=function()//author:meizz
varn=window.event.screenX-window.screenLeft;
varb=n>document.documentElement.scrollWidth-20;
if(b&&window.event.clientY<0||window.event.altKey)
window.event.returnValue="";//这里可以放置你想做的操作代码
五、在js中,浏览器关闭还是刷新应该怎么判断
页面刷新时先执行onbeforeunload,然后onunload,最后onload。
//页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件。
//页面关闭时,先onbeforeunload事件,再onunload事件。
//页面刷新时,只执行onunload;页面关闭时,只执行onbeforeunload事件
那么回归正题,到底怎样判断浏览器是关闭还是刷新?我按照网上的各种说法实验千百遍,都未成功,其中各种说法如下:
window.onbeforeunload= function()//author: meizz
var n= window.event.screenX- window.screenLeft;
var b= n> document.documentElement.scrollWidth-20;
if(b&& window.event.clientY< 0|| window.event.altKey)
window.event.returnValue="";//这里可以放置你想做的操作代码
window.onbeforeunload= function()//author: meizz
var n= window.event.screenX- window.screenLeft;
var b= n> document.documentElement.scrollWidth-20;
if(b&& window.event.clientY< 0|| window.event.altKey)
window.event.returnValue="";//这里可以放置你想做的操作代码
if(event.clientX<=0&& event.clientY<0){
这些方法都不管用,但是我并没有放弃,想啊想啊........
//页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件。
//页面关闭时,先onbeforeunload事件,再onunload事件。
//页面刷新时,只执行onunload;页面关闭时,只执行onbeforeunload事件
刷新的时候先onbeforeunload,然后取服务端请求数据,在新页面即将替换旧页面时onunload事件,而页面关闭时,先onbeforeunload事件,再立即onunload事件。那么在刷新的时候,onbeforeunload与onunload之间的时间肯定比关闭的时候时间长,经过测试确实如此。
var _beforeUnload_time= 0, _gap_time= 0;
var is_fireFox= navigator.userAgent.indexOf("Firefox")>-1;//是否是火狐浏览器
_gap_time= new Date().getTime()- _beforeUnload_time;
$.post(pathName+"/back/bi!aaaa.s2?t="+_beforeUnload_time,{msg:"浏览器关闭",time:_gap_time},function(json){},"text");
$.post(pathName+"/back/bi!aaaa.s2?t="+_beforeUnload_time,{msg:"浏览器刷新",time:_gap_time},function(json){},"text");
window.onbeforeunload= function(){
_beforeUnload_time= new Date().getTime();
$.post(pathName+"/back/bi!aaaa.s2?t="+_beforeUnload_time,{msg:"火狐关闭"},function(json){},"text");
六、监听浏览器关闭事件
1、# 1:监听浏览器关闭事件 --- 后台删用户登录信息 --- IE不可用
2、 window.onbeforeunload=function(){
3、 alert("您确定退出吗?");
4、 window.onbeforeunload=function(){
5、 return"您确定退出吗?";
6、页面刷新时先执行onbeforeunload,然后onunload,最后onload。
7、-- 页面加载时只执行onload
8、-- 页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件。
9、--页面关闭时,先onbeforeunload事件,再onunload事件。
10、--页面关闭时,只执行onbeforeunload事件
关于谷歌浏览器onbeforeunload的内容到此结束,希望对大家有所帮助。
声明:信息资讯网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者东方体育日报所有。若您的权利被侵害,请联系 删除。
本文链接:http://www.gdxhedu.com/news/128804.html