html页面的onunload、onbeforeunload

<script>

    function getBO()

    {
       ret = confirm("你是否要关闭窗口");
       if(ret)
       {
          ret1 = confirm("你是否要收藏页");
          if(ret1)
          {
            external.addFavorite('网址','收藏名称')
           }
          this.close();
       }

    }

    //必须写在script内,如果body onload =...    onbeforeunload=...,firefox好像不起作用

      window.onbeforeunload=function(){alert('before unload');} //ie firefox

    window.onunload=function(){alert('kk');}; //ie

</script>



附最终代码:

    //主窗体加载,需要记录在线标志。因为在主窗体可能刷新,可能关闭窗口。
    //如果刷新,此时也会执行beforeunload时导致用户离线,因此onload中要将用户置为在线
    window.onload=function()
    {
        //alert("onload");
        //关闭窗体时才退出登录;刷新按钮,不能退出
        $.ajax({
          type:"POST",
          url:"oa_sys_manage",
          data:"type=online",
          dataType:"",
          async:false,
          success:function(data){
              //alert('已重新登录!');
              ;//
          }
        });       
    }
    
    //主窗体关闭事件处理  退出登录
    window.onbeforeunload=function(event)  //ie firefox
    {
        var evt=event?event:window.event;
        //alert(evt);
        //alert('before unload');
        var isIE=document.all?true:false;
        if(isIE)
        {
            alert('ie beforeunload');
            var a_n = evt.screenX - window.screenLeft;
            //alert(a_n);
            var a_b = a_n >document.documentElement.scrollWidth-20;
            //alert(a_b);
            if(a_b && evt.clientY<0 || evt.altKey)
            {
                alert('关闭页面行为');
                //关闭窗体时才退出登录;刷新按钮,不能退出
                $.ajax({
                  type:"POST",
                  url:"oa_sys_manage",
                  data:"type=offline",
                  dataType:"",
                  async:false,
                  success:function(data){
                      //alert('已安全退出系统!');
                      ;//
                  }
                });           
            }
            else
            {
               //alert('跳转或者刷新页面行为');
            }   
        }
        else
        {
            alert('firefox beforeunload');
            //关闭窗体时才退出登录;刷新按钮,不能退出
            $.ajax({
              type:"POST",
              url:"oa_sys_manage",
              data:"type=offline",
              dataType:"",
              async:false,
              success:function(data){
                  //alert('已安全退出系统!');
                  ;//
              }
            });
        }     
    } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值