请达人解释下这个段javascript

来源:百度知道 编辑:UC知道 时间:2024/05/29 09:43:42
window.onbeforeunload = function()
{
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;

if (b && window.event.clientY < 0 || window.event.altKey)
{
window.event.returnValue = "";
}
}

作者每句话的用意是什么啊,看不懂...

这段代码是用来判断当前页面刷新还是关闭。

首先有点知识我得和楼主说明一下:
其实这段代码主要是用于聊天室窗口的,一般的聊天室窗口是除了标题栏和侧滑栏,其余的XX栏都没有的。用javascript弹出一个这样的窗口的代码是:
<script language="JavaScript">
window.open('欲加载的网页的地址','_blank','width=窗口宽,height=窗口高,menubar=no,toolbar=no,directories=no,location=no,status=no,resizable=no,scrollbars=yes');
</script>
其中值为“no”的就是不要的XX栏。

这段代码中有几个属性值得说明一下:
1.window.onbeforeunload():此方法被触发于:
关闭浏览器窗口
通过地址栏或收藏夹前往其他页面的时候
点击返回,前进,刷新,主页其中一个的时候
点击 一个前往其他页面的url连接的时候

如果是用于上面我提到的聊天室窗口,那就只考虑两个事件四个方法:
1、正常关闭:点击关闭按钮(右上角,这个按钮的大小和代码中那个“-20”有关,最后我会说到);或者 按下ALT+F4键(所以代码中有对ALT键的检测)。
2、正常刷新:按下F5键;或者 通过右键刷新。

2.
window.event.screenX:鼠标相对于用户屏幕的水平位置
window.screenLeft:窗口左上角相对于屏幕左上角的水平位置
window.event.clientY:鼠标在窗口客户区域(除去所有的XX栏)中的Y坐标(比如在标题栏上时,该值为负值)
window.event.altKey:当alt键按下时,值为 TRUE ,否则为 FALSE 。只读。
document.documentElement.scrollWidth:窗