日期:2014-05-16  浏览次数:20431 次

用js在onbeforeunload判断是刷新还是关闭?
在网上搜了一下,大部分是这两种方法,
第一个alert和第二个alert,
现在测试第一个是可以的,刷新的时候是false,关闭的时候是true。win7 ie9测试。
但问题是在win8 ie10上面各种都不行,无论是刷新还是关闭,无论是第一个还是第二个,全是true。求大神解决方法。

------解决方案--------------------
刷新一般都是按F5,不如直接监听F5按下,至于少数奇葩的刷新方式,当关闭处理得了,反正不可能100%准确判断
------解决方案--------------------
引用:
window.onbeforeunload=function(){
alert(event.clientX>document.body.clientWidth);
alert(event.clientY);//唯独这句两处不一样,本机win7 ie9刷新是正数,关闭是负数;
//虚拟机win8 ie10刷新关闭都是负数,所以就总是true
alert(event.altKey);
alert(event.clientX>document.body.clientWidth
------解决方案--------------------
event.clientY<0
------解决方案--------------------
event.altKey)
}


为什么论坛里总是有人要有这种需求?
在onbeforeunload里还能alert出来?判断鼠标位置有用么?浏览器地址栏旁边不照样有刷新按钮,点击同样能刷新,怎么就非得F5刷新了,不知LZ是如何区分点击的是关闭还是刷新?

放弃吧,完全没有什么实际意义。

------解决方案--------------------
刷新和关闭都可以用鼠标点,根本没法检测。