谷歌浏览器onbeforeunload 谷歌浏览器 安卓下载

老铁们,大家好,相信还有很多朋友对于谷歌浏览器onbeforeunload和谷歌浏览器 安卓下载的相关问题不太懂,没关系,今天就由我来为大家分享分享谷歌浏览器onbeforeunload以及谷歌浏览器 安卓下载的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

谷歌浏览器onbeforeunload 谷歌浏览器 安卓下载

本文目录

  1. 基于JavaScript判断浏览器到底是关闭还是刷
  2. 怎么判断是手动刷新浏览器还是程序刷新浏览器
  3. ...浏览器事件之chrome浏览器真支持onbeforeunload事件吗
  4. js区分浏览器页面是刷新还是关闭
  5. 在js中,浏览器关闭还是刷新应该怎么判断
  6. 监听浏览器关闭事件

一、基于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