关闭浏览器的监听

需求:关闭浏览器时,退出,清除session。

在网上找了一段代码,可是测试的时候有偏差,有时关闭浏览器可以退出,有时退出不了。分析后发现,当浏览器的窗口大小改变后,网页的宽度没有及时跟着变,这个项目没有做到这一点。

document.documentElement.scrollWidth  网页宽度

document.body.clientWidth  窗口宽度

以上两个值意思是不一样的,前者是网页的宽度,如果浏览器窗口拉小,但是页面内容没有自适应,那么网页的宽度没有变,而窗口宽度变小了。以下两个网页看的很清除,一个有滚动条,一个没有。

 

 

function RunOnBeforeUnload() {
  var qq =window.event.screenX-window.screenLeft+45-document.body.clientWidth;
 alert(window.event.screenX+" "+window.screenLeft+" "+document.documentElement.scrollWidth+" "+document.body.clientWidth+" "+qq);
 var n = window.event.screenX - window.screenLeft;
    var b = n > document.body.clientWidth - 45;
    if (b && window.event.clientY < 0 || window.event.altKey) {// 浏览器右上角 关闭按钮
     alert("true");
     //
         });
    };
   
 }

 

认识一下各个值的含义

window.event.screenX  鼠标相对于显示器的X坐标值

window.screenLeft    网页左边相对于显示器的X坐标值

document.body.clientWidth  浏览器窗口的宽度

document.documentElement.scrollWidth   网页宽度

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值