JS处理关闭浏览器事件
在web程序中,刷新或者离开当前页面,需要某些操作时候,可以使用window.onbeforeunload。
但是如何判断是刷新还是关闭。就比较复杂了。从网上整理的资料来看,大多是根据鼠标是否点击右上角的X号来判断是否是关闭。(仅在IE8中有效)
判断是不是关闭,应该了解的知识:
1.关于window.event;
window.event.x,y:相对于浏览器的位置
window.event.screenX,screenY:相对于用户显示器的位置
window.event.clientX,clientX:相对于网页的位置
window.event.offsetx,offsety:相对于网页中某一区域的位置。
window.event.altkey:检查alt键的状态(true or false)
window.event.shiftkey:检查shift键的状态(true or false)
window.event.crtlkey:检查ctrl键的状态(true or false)
2.关于window.screen
window.screenleft,screentop :浏览器窗口的位置。
3.document.documentElement.scrollWidth和document.body.scrollWidth可以参考链接:
http://www.jb51.net/article/41410.htm.总结如下:
body是Dom对象body节点,即<body>,
documentElement是整个节点树,即<html>
由以上知识,判断点击X关闭浏览器的js代码为:
var n=window.event.screenx-window.screenleft;
var b=n>(Math.min(document.documentElement.scrollWidth,document.body.scrollWidth)-20);
if(b&&window.event,cientY<0|| window.event.altkey)
{
do what your want...
}