ie可以,firefox没有办法ie可以通过event.clientX和event.clientY来判断

解决方案 »

  1.   

    window.onbeforeunload = function() 

      if((window.event.screenX - window.screenLeft) > (document.documentElement.scrollWidth-20) && 
      window.event.clientY < 0 || window.event.altKey) 
      { 
    //关闭 
      } else{
    //刷新
      }

    试试看
      

  2.   

    <script language=javascript>   
      function closeIt(){   
      try
        {   
           event.returnValue   =   "【注意!你确认要退出系统吗?】";}   
           catch(e){   }   
         }   
      </script>   
      <body onbeforeunload=closeIt();></body>
      

  3.   

    TO etionsun:
    使用“if((window.event.screenX - window.screenLeft) > (document.documentElement.scrollWidth-20) &&
      window.event.clientY < 0 || window.event.altKey) ”
    在IE8下关闭该标签页,还是只提示“刷新”;
    在火狐下则有“window.event has no properties”脚本错误提示
      

  4.   

    TO llddy
    在ie下可以,不过火狐就没效果了
      

  5.   

    受 llddy 启发,我自己又琢磨琢磨,改成下面
    <script language="javascript">
    var s = "test";
    function fclose(){
    if(s!="fresh")
    alert('close');
    } function bfunload(){
    if(!confirm("是否退出?\n点击“确定”后,退出。")){
    s="fresh";
    return;
    }
    else{
    s="close";
    fclose();
    }
    }
    </script>    <body onunload="fclose()" onbeforeunload="bfunload()">但在火狐下关闭就要alert('close');2次
    而且用confirm的方法用户体验不是很好
      

  6.   


    也可以在firefox 中用event.clientX和event.clientY来判断
    只不过取得的方法不同罢了
    用的是event.pageX event.pageY这样就可以得到坐标了
    还有就是得加 px