javascript判断网页是关闭还是刷新

javascript判断网页是关闭还是刷新,第1张

刷新:

//对于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 如何判断页面执行了刷新 *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9319087.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存