如何在用户关闭标签页或窗口时捕获事件?

时间:2014-05-01 19:08:24

标签: events time scheduler

我正在开发一个网络应用程序,我需要跟踪用户使用此应用程序的时间。
但问题是当用户关闭标签页或窗口时如何捕获该事件?
我找到了一个创建调度程序的解决方案,该解决方案在服务器端上运行。从客户端每10分钟向服务器发送一次请求。
因此,每当服务器停止从客户端获取请求时,我可以假设客户端已停止使用此应用程序。这就是我如何跟踪特定用户的登录时间。 这种方法仍有一个问题,登录时间可能<10分钟差异,因为服务器每10分钟从客户端收到请求。
这种方法似乎很尴尬。 是否有其他方法可以找到用户访问我的Web应用程序的登录时间?

提前致谢

2 个答案:

答案 0 :(得分:2)

实际上,你无法捕捉这样的事件,因为有很多场景 但实现这一目标的一种方法是创建一个调度程序 让我详细解释一下。

  1. 在客户端创建调度程序,它将向服务器发送请求。
  2. 在服务器端创建调度程序,它将捕获客户端发送的请求。
  3. 调度程序应该在某个时间间隔 这样您就可以知道您的客户端是否正常运行。当您没有收到客户端的任何请求时,您认为客户端已断开连接。

答案 1 :(得分:1)

您可以使用socket.io并持续监控用户/确切了解用户何时关闭连接。

您还可以通过onunload事件跟踪用户何时离开页面,但我认为如果用户关闭标签/窗口而不是导航,则不会调用此方法。