非常急的一个事情,JavaScript 如何判断用户操作浏览器是关闭还是刷新?
我用以下代码在IE6中可行,但是在IE 8 中却不行,Firefox中也不行:
window.onbeforeunload = function(){
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey){
alert('是关闭而非刷新');
}else{
alert('是刷新而非关闭');
}
}
我想用jQuery来实现这个功能,但是没有找到。等待高人出现。extjs 也行,反正要达到的效果便是 用户关闭当前页执行某个动作,用户刷新当前页就不执行。就是判断用户的操作是关闭还是刷新,并且兼容 Firefox、IE 6、IE 7、IE8。
我用以下代码在IE6中可行,但是在IE 8 中却不行,Firefox中也不行:
window.onbeforeunload = function(){
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey){
alert('是关闭而非刷新');
}else{
alert('是刷新而非关闭');
}
}
我想用jQuery来实现这个功能,但是没有找到。等待高人出现。extjs 也行,反正要达到的效果便是 用户关闭当前页执行某个动作,用户刷新当前页就不执行。就是判断用户的操作是关闭还是刷新,并且兼容 Firefox、IE 6、IE 7、IE8。
是啊,BOSS跟我说要我弄这个的那时候,我就说了“JS是无法判断是刷新还是关闭的”,BOSS根本就不管这些,对程序也根本不了解,说某某网站可以。然后我打开那个网站,我发现他们是 写入COOKIE,如果关闭或者刷新页面的时候检测到该COOKIE值存在就不弹出;否则就弹出,然后写入COOKIE。我跟BOSS说了,可根本就不管这些,反而眼神一直在说我想偷懒,还让我先去网上搜索。
晕,本来就判断不了,还搜索什么好像我就水平就那么差,JS能够做什么不能做什么都不清楚。。目前只能做到判断IE 6 浏览器是否是关闭还是刷新,其他的浏览器根本就判断不了。
鼠标操作判断不了。点击链接,也会触发onunload 事件的。
.... 写COOKIE又能够怎么样,关键是判断浏览器是关闭还是刷新