JS监听窗体关闭事件
2014-08-22 16:31
106 查看
最近在做消息推送, 在监听用户是否在线时有个问题 就是: 用户正常退出的话可以清除用户在服务端的共享信息 ,但是用户如果关闭窗体没有与告知服务器,用户的信息还会保存在服务端。
解决这个问题需要检测到客户的关闭窗体事件:
<script type="text/javascript">
window.onbeforeunload = onbeforeunload_handler;
function onbeforeunload_handler() {
var warning = "啊大是大非是大法师大法是大法师大法是否?";
return warning;
}
</script>
当然如果用户的电脑关闭的话 或者 网络中断都会影响用户的实际在线状态 。那么更可靠的方法事记录客户最后一次发送请求的时间 如果在规定时间内再无请求的话,服务端主动更新用户的在线状态,不过这样的操作需要成本:数据库不停的检测在线用户的最后请求时间。相对于客户端的主动下线服务端的操作更为复杂,除了数据库不停的检测在线用户的最后请求时间外还有之后的操作,比如其他在线用户需要知道当前的用户还需要不停的请求数据库,如果客户端主动的话这些都不复杂了。
个人理解的东西,如果有高人有其他见解,请多指教。
解决这个问题需要检测到客户的关闭窗体事件:
<script type="text/javascript">
window.onbeforeunload = onbeforeunload_handler;
function onbeforeunload_handler() {
var warning = "啊大是大非是大法师大法是大法师大法是否?";
return warning;
}
</script>
当然如果用户的电脑关闭的话 或者 网络中断都会影响用户的实际在线状态 。那么更可靠的方法事记录客户最后一次发送请求的时间 如果在规定时间内再无请求的话,服务端主动更新用户的在线状态,不过这样的操作需要成本:数据库不停的检测在线用户的最后请求时间。相对于客户端的主动下线服务端的操作更为复杂,除了数据库不停的检测在线用户的最后请求时间外还有之后的操作,比如其他在线用户需要知道当前的用户还需要不停的请求数据库,如果客户端主动的话这些都不复杂了。
个人理解的东西,如果有高人有其他见解,请多指教。
相关文章推荐
- JS监听关闭浏览器事件
- js 拦截 窗体关闭事件
- js监听窗口关闭事件
- 监听浏览器关闭按钮点击事件 -- 使用JS
- js监听浏览器关闭事件 onbeforeunload和Onunload不生效 使用onpadehide可以监听到浏览器关闭事件
- JS监听浏览器刷新、关闭事件
- JS监听关闭浏览器事件
- 小博老师解析Java核心技术 ——JSwing窗体状态监听事件
- JS针对浏览器窗口关闭事件的监听方法集锦
- vue.js 监听到微信浏览器返回事件,关闭浏览器,返回公众号号主体
- JS监听关闭浏览器事件
- 监听浏览器关闭按钮点击事件 -- 使用JS
- JS监听关闭浏览器事件
- 小博老师解析Java核心技术 ——JSwing窗体状态监听事件
- JS监听浏览器关闭事件
- js监听和触发浏览器窗口关闭事件
- JS监听关闭浏览器事件
- js监听 window.open 关闭事件
- js监听浏览器关闭事件(区分刷新和关闭,兼容IE9,10,11,Edge,Chrome和Firefox)
- JS针对浏览器窗口关闭事件的监听方法