繁体   English   中英

javascript窗口卸载事件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM