如何知道用户是否关闭页面?

时间:2013-07-06 05:52:15

标签: javascript jquery

我想知道用户是否关闭了网页,而不是点击后退按钮或在网址栏中写另一个网站离开。我试过这个,

$(window).bind('beforeunload', function () {

logout();

});

它可以工作,但是当用户点击后退按钮或写另一个网址时它也会激活。 我的问题是,是否可以知道用户是否关闭了该页面?

1 个答案:

答案 0 :(得分:2)

还有另一种选择,但昂贵,而且还取决于用户案例。我们通过简单的聊天为我创造了奇迹。你可以让javascript不断(每隔几秒)调用一个用户名为example.com/misc/alive/456457的页面,其中456457是用户的id。然后在数据库表中将该调用作为新行引入。如果用户没有回复更多而不是X秒,那么您认为他已经离开了。

当然,当用户“离开”时,你没有得到一个动作,你只需要一个数据库,然后你必须分析以了解用户“可能”何时离开。对于聊天示例,它就像每2秒调用它一样简单,然后检查在过去5秒内是否有任何在线用户并删除重复的ID(给它一些阈值)。