1

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

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

logout();

});

它可以工作,但是当用户单击后退按钮或编写另一个 url 并继续时,它也会触发。我的问题是,是否有可能知道用户是否关闭了页面?

4

1 回答 1

2

有另一种选择,但它很昂贵,而且还取决于用户案例。在我们进行的一次简单聊天中,这对我来说很有效。您可以让 javascript 不断(每隔几秒钟)调用具有用户 ID 的页面example.com/misc/alive/456457,其中 456457 是用户的 ID。然后,您将该调用作为新行引入数据库表中。如果用户在X 秒内没有回电,您就认为他已经离开了。

当然,您不会在用户“离开”时获得操作,您只是获得一个数据库,然后您必须分析该数据库以了解用户“可能”何时离开。对于聊天示例,它就像每 2 秒调用一次然后检查最后 5 秒内是否有任何用户在线并删除重复的 id(给它一些阈值)一样简单。

于 2013-07-06T06:08:49.797 回答