javascript 如何捕获浏览器窗口关闭事件 刷新事件

驰骋星空的小超人 2016-06-17 05:41:25
在项目中需要用到浏览器的关闭事件,需要浏览器前端去捕获,来做用户退出时,后台逻辑的处理和数据库数据的修改,但是还不清楚如何用js去捕获,浏览器窗口的关闭事件,以及同刷新事件区分开来?在网上搜了一下,有说如下代码实现的: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) {
//alert("是关闭而非刷新");
}else{
//alert("是刷新而非关闭");
}
} 但是试了一下,只是实现了捕获刷新事件,没有捕获关闭事件??
还有通过判断window的onbeforeunload和unload两个事件函数触发的时间间隔,来进行区分的,到是可以实现了,但是捕获关闭事件的时候有时行,有时不行,不知道大家有没有比较好的浏览器关闭事件和刷新事件的捕获代码逻辑????
...全文
233 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzj0327 2016-06-18
  • 打赏
  • 举报
回复
现在基本上都不会禁用cookie了吧,假如禁用了就给个提示让他打开
  • 打赏
  • 举报
回复
那退出登录的和登录状态的判断,只能用cookie了吧,但是客户端禁了cookie,就没招了啊,业务逻辑就没法实现了啊
天际的海浪 2016-06-17
  • 打赏
  • 举报
回复
这问题无解。

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧