用JS在IE和火狐下判断网页是刷新还是关闭

在IE和火狐下通用:
<script type="text/javascript">
function close( evt) //author: sunlei
{
    var isIE=document.all?true:false;
    evt = evt ? evt :(window.event ? window.event : null);
    if(isIE){// IE浏览器
        var n = evt.screenX - window.screenLeft;
        var b = n > document.documentElement.scrollWidth-20;
        if(b && evt.clientY<0 || evt.altKey){
            alert("是关闭而非刷新");
        }
        else{
            alert("是刷新而非关闭");
        }
    }
    else{// 火狐浏览器
        if(document.documentElement.scrollWidth!=0)
            alert("是刷新而非关闭");
        else
            alert("是关闭而非刷新");
    }
}
</script>
<body οnunlοad="close( event);">
        其中参数 event是一定要传进去的,因为在火狐下如果不传的话,它会报错: window.event is not defined。当然,在IE下如果不传的话,是没有问题的。
        不过细心的人会发现,其实在火狐下进行判断的时候根本没有用到 evt。其实把 evt传进去,只是为了保证浏览器不会报错,其实可以做如下修改,效果是一样的:
<script type="text/javascript">
function close( ) //author: sunlei
{
    var isIE=document.all?true:false;
    if(isIE){// IE浏览器
        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("是刷新而非关闭");
        }
    }
    else{// 火狐浏览器
        if(document.documentElement.scrollWidth!=0)
            alert("是刷新而非关闭");
        else
            alert("是关闭而非刷新");
    }
}
</script>
<body οnunlοad="close( );">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值