关闭浏览器的监听

来源:互联网 发布:qq留言软件 编辑:程序博客网 时间:2024/06/05 23:34

需求:关闭浏览器时,退出,清除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   网页宽度

 

 

 

 

 

0 0
原创粉丝点击