Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 了解用户是否已注销的最佳方法_Javascript_Jquery_Events_Browser - Fatal编程技术网

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

Javascript 了解用户是否已注销的最佳方法,javascript,jquery,events,browser,Javascript,Jquery,Events,Browser,我想知道检测浏览器注销的最佳方法是什么,我已经设置了一个计时器,可以在30分钟后使会话无效。但是如果用户没有注销,只是简单地退出了浏览器呢?另一个用户在30分钟前打开同一台计算机上的同一浏览器,因为浏览器设置中的“返回到上次停止的位置”设置处于启用状态 到目前为止,我们每30分钟设置一次计时器,我们有一个注销按钮,但除此之外,什么可能是注销或了解用户是否退出其浏览器的最佳方式。我之所以要求这样做,是因为chrome、firefox等浏览器中的设置存在很多安全问题,用户可以回到他们离开的地方。尤其

我想知道检测浏览器注销的最佳方法是什么,我已经设置了一个计时器,可以在30分钟后使会话无效。但是如果用户没有注销,只是简单地退出了浏览器呢?另一个用户在30分钟前打开同一台计算机上的同一浏览器,因为浏览器设置中的“返回到上次停止的位置”设置处于启用状态

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

会话劫持呢


当前在WebSphere上使用Java/JSP和Javascript/jQuery。

您可以添加一个ping页面,基本上使用Javascript,您将每30秒调用一次该页面,您可以使用memcached实现这一点。如果缺少2/3 ping,则用户实际上处于脱机状态。

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

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


使用

也可以做类似的事情。您研究过会话cookie吗?我更多的是研究Java方式或JavaScript方式,而不是在应用程序中实现新语言。如果有别的办法,请告诉我。HTML 5 WebSockets和JWebSockets(Java)Node如何?js仅使用JavaScript。您不能使用客户端JavaScript来实现这一点。您还需要在服务器上侦听一些内容,这些内容可以在连接中断时终止会话。在这种情况下,JavaScript本身无法工作。必须使用服务器端JavaScript(Node.js):不过Node.js需要实现/安装,我想做一些更简单的事情。我不知道我们的服务器是否会支持node.jsp,他们肯定会支持。节点可用于windows、linux、solaris和mac。是否有大型机的替代方案?由于大型机上的Websphere不支持node.jsp,如果有30000个用户在线。。。对于服务器来说,该方法将很难处理。考虑到您可以在memcached服务器之间共享负载,而且您真的不需要访问任何数据库就可以做到这一点,因此性能大幅下降。我将其用于一个站点,该站点在单个memcached节点上有17k个并发用户,负载为零