非常急的一个事情,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。

解决方案 »

  1.   

    没得,如果是点击浏览器的刷新按钮,这个在FF下就无法判断了或者直接从人任务管理器中直接干掉IE进程,你怎么判断
      

  2.   


    是啊,BOSS跟我说要我弄这个的那时候,我就说了“JS是无法判断是刷新还是关闭的”,BOSS根本就不管这些,对程序也根本不了解,说某某网站可以。然后我打开那个网站,我发现他们是 写入COOKIE,如果关闭或者刷新页面的时候检测到该COOKIE值存在就不弹出;否则就弹出,然后写入COOKIE。我跟BOSS说了,可根本就不管这些,反而眼神一直在说我想偷懒,还让我先去网上搜索。
    晕,本来就判断不了,还搜索什么好像我就水平就那么差,JS能够做什么不能做什么都不清楚。。目前只能做到判断IE 6 浏览器是否是关闭还是刷新,其他的浏览器根本就判断不了。
      

  3.   

    根本判断不了。键盘操作可以判断alt+f4  f5  。
    鼠标操作判断不了。点击链接,也会触发onunload 事件的。
      

  4.   

    js也是可以写cookie的,你用cookie不就行了
      

  5.   


    .... 写COOKIE又能够怎么样,关键是判断浏览器是关闭还是刷新