在我正在开发的应用程序中,我必须存储某些特定用户仍然登录到应用程序的时间,不幸的是,在Web应用程序中,用户可以通过多种方式注销。

  1. 用户点击注销。
  2. 用户会话到期。
  3. 用户关闭窗口。
  4. 用户在地址栏中输入其他网站网址。
  5. 第一个很容易,因为应用程序可以控制注销过程。但在其他方面,它变得棘手。

    你会怎么做才能解决这个问题?

有帮助吗?

解决方案

在每个页面视图上,更新您的计数。如果他们退出,那么你就有了准确的衡量标准。如果他们离开了,或者任何其他方法,那么你出去的最多就是他们在一页上的时间长度。

如果真的非常对于准确度量非常重要,那么可能是AJAX“心跳”。每一分钟,但这很可能是矫枉过正。

其他提示

对于#3和#4,你可以在window.onunload事件上附加一些东西,让你有时间进行计算,但要小心你的代码足够快,以至于在你的AJAX请求之前页面没有完全卸载被发送。

就#2而言,“心跳”指的是“心跳”。 nickf建议可能是那里最好的解决方案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top