如果用户停留在一个页面中并且不点击该应用程序,请检查rails中的活动用户

时间:2012-09-12 14:10:55

标签: ruby-on-rails ruby ruby-on-rails-3

我正在尝试构建一个rails应用程序并尝试查看用户在线的内容。我知道如果用户点击我的应用程序,如何实现该方法来显示在线用户,但我们假设我的应用程序只有1页,因此没有要点击的链接。如何在不跟随用户点击的情况下在线跟踪用户?此外,如果用户空闲15分钟,我将需要将状态更新为空闲而不是在线,如果用户关闭浏览器或导航到另一个页面,状态将变为离线。

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我建议将 AJAX ping 发送到您的服务器端,如:

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

您可以使用JS Timers自动执行此操作,也可以在用户与页面进行交互时明确地执行此操作。