谷歌浏览器beforeunload(谷歌浏览器下载手机版)

大家好,今天小编来为大家解答以下的问题,关于谷歌浏览器beforeunload,谷歌浏览器下载手机版这个很多人还不知道,现在让我们一起来看看吧!

谷歌浏览器beforeunload(谷歌浏览器下载手机版)

本文目录

  1. 在js中,浏览器关闭还是刷新应该怎么判断
  2. unload事件只偶尔触发

一、在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");

二、unload事件只偶尔触发

1、任务:在页面unload的时候发送此次访问页面滚动的最大值。

2、实现:在unload时绑定回调函数,给远程服务器发送数据。

3、问题:结果是偶尔发送,大部分情况下未发送。并且未发现什么规律。

4、 1)unload事件不兼容,在很多浏览器下不触发;

5、 2)unload时页面unload和给unload绑定的回调函数,在同时执行,所以不能在unload时做耗时的工作。

6、 1)跟我的情况不符合,因为如果是因为chrome浏览器不支持,就不会出现偶尔发送的情况。

7、 1)给beforeunload和unload事件都绑定该回调函数;

8、 2)发送请求时采用同步的方式:

9、 3)没有办法解决。(这是网上百分之八九十的答案,但都是针对unload事件兼容的答案。)

10、最后我采用了1)的方式就解决问题了,所以2)就没有去尝试。

11、 1)在beforeunload事件时返回一个字符串,会在页面unload前展示给用户,并询问一次是否真的要离开页面。类似于一个confirm。这是浏览器自己做的。

12、 2)在beforeunload和unload时,alert都失效。

13、看了mdn,知道概念,但是心里依然没数。

谷歌浏览器beforeunload和谷歌浏览器下载手机版的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

声明:信息资讯网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者东方体育日报所有。若您的权利被侵害,请联系 删除。

本文链接:http://www.gdxhedu.com/news/128435.html