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...
}
 

转载于:https://www.cnblogs.com/zhangqi0924/p/5145013.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值