0

我正在尝试构建一个 Rails 应用程序并尝试查看哪些用户在线。如果用户单击我的应用程序,我知道如何实现向在线用户显示的方法,但假设我的应用程序只有 1 页,因此没有要单击的链接。我如何在线跟踪用户而无需用户点击任何地方?此外,如果用户空闲 15 分钟,我将需要将状态更新为空闲而不是在线,并且如果用户关闭浏览器或导航到另一个页面,则状态将变为离线。

任何帮助,将不胜感激。谢谢

4

2 回答 2

1

大概它们以某种方式与页面交互(也许是 ajax?),因此您需要检测这些交互并使用它们来确定用户是否空闲。您可以使用 javascript 的onbeforeunload来确定他们何时离开页面。

于 2012-09-12T14:20:14.753 回答
0

我建议对您的服务器端进行AJAX ping ,例如:

$.get( '/user_activity/ping' );

您可以使用JS 计时器自动执行此操作,也可以在用户以某种方式与页面交互时显式执行此操作。

于 2012-09-12T14:22:31.383 回答