我必须识别在线用户
条件是当用户关闭窗口时,他/她将从在线列表中自动删除。
正在基于会话值生成列表。
任何人请帮助我.........
答案 0 :(得分:3)
难以在关闭窗口事件中存储标志。如果用户关闭浏览器直接关闭系统怎么办?
每次用户执行某些活动(包括页面刷新)时,通过在数据库中存储unix时间戳,可以实现大致相同的操作。
要查看用户是否在线,请为此时间戳添加一定的时间量,并将该值与当前时间戳进行比较。
例如。假设我们决定在过去10分钟内有一些活动在线考虑用户
$online = ($last_active_time + 600 > time()) ? True : False;
答案 1 :(得分:0)
<script type="text/javascript">
window.onclose = function()
{
// use jquery to make an ajax post to your chats controller, telling it someone has signed off.
// CURRENT_USER_ID will have to be passed from your application to JS, or you could try to read your session cookie there...maybe
$.post('/chats/signed_off', {user_id: CURRENT_USER_ID});
}
</script>
这就是逻辑。实施将特定于您的应用程序,我们对此一无所知。