javascript - 浏览器关闭浏览器窗口时如何终止应用程序会话?

  显示原文与译文双语对照的内容

我有个问题。

我正在使用聊天应用程序。 如果用户关闭浏览器窗口而不注销,我想终止会话。 我使用了'beforeunload'函数,但在激发 postback 事件时也会激发它,因这里它不适合我。

如果有人对它有任何了解,请帮助。

时间: 原作者:

如果使用轮询获取聊天数据,则如果没有从客户端获得给定时间的轮询请求,则应终止该会话。

客户:


setInterval (pollData, 10000);/* poll for new data each 10 seconds */



服务器:


if (clientX.LastPollTime is over 30 seconds ago) {


 clientX.killSession();


}



原作者:

我建议你使用Alexanders方法,但是在大多数情况下设置间隔时间不会单独解决这个问题。 因为用户可能空闲一段时间,并且可能超过了超时期限。

为了避免这种情况,你还需要在下面添加一个条件。

  • 如果用户空闲时间为 ,那么只需向服务器发出AJAX请求,然后将客户端状态更新为空闲状态。

  • 这将避免在特定时间用户是idel时注销会话。

  • 如果服务器在指定时间未收到来自客户端的任何响应,并且状态未更新为空闲状态,则可以终止会话

原作者:
...