小编典典

如何衡量在页面上花费的时间?

javascript

我想衡量用户在网页上花费的时间(以秒为单位,以整数为单位,以浮点数表示,以分钟为单位)。我知道有一个卸载事件,当他们离开页面时,我可以触发该事件。但是如何获得他们已经在那里度过的时间呢?


阅读 298

收藏
2020-05-01

共1个答案

小编典典

如果您使用Google Analytics(分析),他们会提供此统计信息,尽管我不确定他们是如何获得的。

如果要自己滚动,则需要将一些AJAX请求发送到服务器进行日志记录。

jQuery有一个.unload(…)方法,您可以像这样使用:

$(document).ready(function() {
  var start = new Date();

  $(window).unload(function() {
      var end = new Date();
      $.ajax({ 
        url: "log.php",
        data: {'timeSpent': end - start},
        async: false
      })
   });
});

唯一需要注意的是,它使用了javascript的beforeunload事件,该事件不会总是有足够的时间触发这样的AJAX请求,因此,您可能会丢失大量数据。

另一种方法是使用某种“ STILL HERE”消息定期轮询服务器,该消息可以更一致地处理,但显然花费更高。

2020-05-01