了解用户是否已注销的最佳方式

时间:2014-03-24 12:51:34

标签: javascript jquery events browser

我想知道什么是检测浏览器注销的最佳方法,我已经有一个定时器设置,在30分钟后使会话无效。但是,如果用户没有注销但只是退出浏览器怎么办?另一个用户在30分钟之前在同一台计算机上打开相同的浏览器,因为在浏览器设置中切换回到停止的位置的设置。

到目前为止,我们每30分钟设置一个计时器,我们有一个注销按钮,但除此之外,这可能是注销或了解用户是否退出浏览器的最佳方式。我要求这个的原因是因为有很多与chrome,firefox等设置相关的安全问题,让用户可以回到他们中断的地方。特别是当浏览器崩溃或被迫退出时,如果您在第二天打开它,如果您在浏览器提示时单击“恢复”按钮,它将返回到您停止的位置,因为它意外退出。

会话劫持怎么样?

目前在WebSphere上使用带有Javascript / jQuery的Java / JSP。

2 个答案:

答案 0 :(得分:1)

唯一的方法是使用WebSockets。 websocket始终在用户的浏览器和服务器之间保持连续的连接,并在连接关闭时引发事件。

您可以使用Node.js的Socket.io库来完成此操作。如果用户关闭浏览器,TCP连接将中断,并且将引发一个可以终止会话的事件。

使用ASP.net's SignalR.

可以完成类似的事情

答案 1 :(得分:0)

你可以添加一个ping页面,基本上用javascript你会每隔30秒调用一次这个页面,你可以用memcached实现这个。如果缺少2/3 ping,则用户实际上处于离线状态。