js如何区分刷新事件和关闭事件
弄了一个用户关闭浏览器非法退出系统,
使用onbeforeunload和onunload 操作,在网上看了看基本上都是使用
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
}
实际他并没有起作用。请教谁有这方面的经验
[解决办法]
好吧,要实现这个功能,所以就要判断用户关闭窗口?
那你有没有想过,如果用户打开了两个标签,关闭其中一个,你通知了后台说该用户下线了,你说他是在线呢还是下线状态呢?
所以,你的解决方案,第一,行不通,第二,就算行得通也有逻辑上的bug。
你这个“登陆状态”是单纯标志当前用户是否在线之用,还是时时记录网站的当前所有在线人数之用?
[解决办法]
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0
[解决办法]
event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
1.这中写法IE中支持较好
2.Chrome 仅会弹出是否离开此页/是否重新加载此页。不会执行alert。
3.FireFox 会执行alert后关闭窗口。
没有过多研究,请见谅
我在IE9下测试也是不行
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0
[解决办法]
event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
加 return false; 了吗?
亲测,么有问题。