![](/img/trans.png)
[英]Javascript window close event rather than unload event for all browsers
[英]javascript window unload event
我正在计算有多少用户在线,但是如果一个人没有注销就关闭一个窗口,那么他不在线,我需要通过javascript或jquery动态地使该用户注销。 当我使用body onunload
事件进行检查时,它可以工作,但是如果刷新页面,它也会调用body卸载事件。
这是我的代码
<script>
function LogmeOut()
{
window.location='logout.php';
}
</script
<body onUnload="LogmeOut();">
.....
.....
</body>
关闭窗口前,注销php将注销当前用户。 有什么建议么?
我认为没有可靠的说法。
最好的办法是当用户访问页面,更新他们在数据库中的活动并设置新的有效期(例如15分钟)时。
如果用户在查询时没有任何活动,则可以将其视为离线。
我喜欢Alex的回答,如果您打算通过JavaScript跟踪活动的用户,则肯定会由于浏览器崩溃,“活动”但实际上是非活动的用户(使他们的浏览器处于闲置状态)而出错。
亚历克斯的方法避免了所有这些。
而不是使用window.onunload
,我更喜欢使用window.onbeforeunload
,然后对logout.php进行ajax调用,如下所示:
window.onbeforeunload = function(){
// make an ajax call to logout.php
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.