如何找出用户在我网站页面上花费的时间

时间:2016-02-13 09:18:30

标签: php html

我想测量用户在用PHP编写的特定网页上花费的时间,并将时间保存在数据库中。我怎样才能做到这一点?请问,有人可以向我解释一下吗?

var startTime = 0;
$(function() {
    startTime = Date.now();
});

$(window).bind('beforeunload', function() {
    $.ajax({async: false, // Necessary, because the closing code has
                          // to be suspended until the ajax succeeds
        url: 'store.php',
        data: {time: Date.now() - startTime},
        success: function(text) {
            // This is executed when the response has been received
            // text is response data
        }
    });
});

1 个答案:

答案 0 :(得分:2)

我建议使用Google分析等服务,因为它们可以为您的请求提供完整的解决方案。

对于上面的代码,发生的事情是您获取用户进入您网站的时间戳,然后在用户离开时(通过使用卸载)获取另一个时间戳。最后,上面的代码减去它们以获得花费的总时间。

上述缺点是您将丢失大量数据,因为卸载可能没有足够的时间来提交请求。 我还建议您将所有代码移到"文档准备好"。

建议

另一种解决方案是每隔X分钟向服务器发送一个请求,告知用户仍然在这里。这样,您就可以粗略估计用户在您网站上花费的时间。

P.S。如果您打算使用jQuery提供的卸载功能。在这里查看文档:{​​{3}}