我用以下代码在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。
13 个解决方案
#1
这个用JS没有什么好的办法却判断了.
如果是单标签浏览器还好说,如果是多标签的情况,这个方法就不好用了.
如果是单标签浏览器还好说,如果是多标签的情况,这个方法就不好用了.
#2
难道真的没有人知道吗????
#3
没得,如果是点击浏览器的刷新按钮,这个在FF下就无法判断了
或者直接从人任务管理器中直接干掉IE进程,你怎么判断
或者直接从人任务管理器中直接干掉IE进程,你怎么判断
#4
是啊,BOSS跟我说要我弄这个的那时候,我就说了“JS是无法判断是刷新还是关闭的”,BOSS根本就不管这些,对程序也根本不了解,说某某网站可以。然后我打开那个网站,我发现他们是 写入COOKIE,如果关闭或者刷新页面的时候检测到该COOKIE值存在就不弹出;否则就弹出,然后写入COOKIE。
我跟BOSS说了,可根本就不管这些,反而眼神一直在说我想偷懒,还让我先去网上搜索。
晕,本来就判断不了,还搜索什么。。。好像我就水平就那么差,JS能够做什么不能做什么都不清楚。。
目前只能做到判断IE 6 浏览器是否是关闭还是刷新,其他的浏览器根本就判断不了。
#5
需求本身不合理
#6
以前很多这样的贴,基本都无解......
#7
不太可能用js来实现的。
#8
根本判断不了。键盘操作可以判断alt+f4 f5 。
鼠标操作判断不了。点击链接,也会触发onunload 事件的。
鼠标操作判断不了。点击链接,也会触发onunload 事件的。
#9
我最近也遇到这个问题,不是很急还没来的急解决。
#10
js也是可以写cookie的,你用cookie不就行了
#11
4楼正解 同情ing....
#12
路过,关注一下!
#13
.... 写COOKIE又能够怎么样,关键是判断浏览器是关闭还是刷新
#1
这个用JS没有什么好的办法却判断了.
如果是单标签浏览器还好说,如果是多标签的情况,这个方法就不好用了.
如果是单标签浏览器还好说,如果是多标签的情况,这个方法就不好用了.
#2
难道真的没有人知道吗????
#3
没得,如果是点击浏览器的刷新按钮,这个在FF下就无法判断了
或者直接从人任务管理器中直接干掉IE进程,你怎么判断
或者直接从人任务管理器中直接干掉IE进程,你怎么判断
#4
是啊,BOSS跟我说要我弄这个的那时候,我就说了“JS是无法判断是刷新还是关闭的”,BOSS根本就不管这些,对程序也根本不了解,说某某网站可以。然后我打开那个网站,我发现他们是 写入COOKIE,如果关闭或者刷新页面的时候检测到该COOKIE值存在就不弹出;否则就弹出,然后写入COOKIE。
我跟BOSS说了,可根本就不管这些,反而眼神一直在说我想偷懒,还让我先去网上搜索。
晕,本来就判断不了,还搜索什么。。。好像我就水平就那么差,JS能够做什么不能做什么都不清楚。。
目前只能做到判断IE 6 浏览器是否是关闭还是刷新,其他的浏览器根本就判断不了。
#5
需求本身不合理
#6
以前很多这样的贴,基本都无解......
#7
不太可能用js来实现的。
#8
根本判断不了。键盘操作可以判断alt+f4 f5 。
鼠标操作判断不了。点击链接,也会触发onunload 事件的。
鼠标操作判断不了。点击链接,也会触发onunload 事件的。
#9
我最近也遇到这个问题,不是很急还没来的急解决。
#10
js也是可以写cookie的,你用cookie不就行了
#11
4楼正解 同情ing....
#12
路过,关注一下!
#13
.... 写COOKIE又能够怎么样,关键是判断浏览器是关闭还是刷新