如何判断用户是否已离开我的网站?

时间:2010-07-09 18:49:04

标签: ruby-on-rails packet

有没有办法判断我网站上的用户是否已经离开(即连接丢失,导航等)?

我正在构建一个RoR网站,并希望用户出于某种原因(例如,连接,离开域等等)立即启动活动。

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:6)

不,没有。

您可以做的最好的事情是每隔X秒发送一次AJAX请求(可能仅在用户移动鼠标时)。如果服务器没有收到2X秒的任何请求,则假定用户离开。

答案 1 :(得分:2)

不。

Http = connectionless

答案 2 :(得分:2)

您可以在此功能中执行一些请求:

$(window).bind('beforeunload', function(){ 
  // there
});

发送一些Ajax或其他东西告诉服务器该用户正在离开页面,但这不是一个好主意。在Google分析和其他统计服务中,您已经可以看到用户在您的网页中停留多长时间。

答案 3 :(得分:0)

我能想到的只是你身体标签中的JavaScript onunload事件...我不知道它有多可行,但理论上你可以使用AJAX调用发送即将发生的信息断开。

当然,如果浏览器进程刚刚被杀死,那将无效。

而且我不确定Rails是否有任何独特的魔法可以做同样的事情(除了更好)。