跟踪特定用户访问页面并在数据库中保留记录时在每个页面上花费的时间

时间:2017-05-16 05:35:22

标签: javascript jquery angularjs mongodb

我遇到了一个问题,我必须跟踪用户在特定页面上花费的时间,并使用mongodb将数据保存在数据库中。 我已经看到了一个相同的答案,但我很困惑在哪里添加那段代码,因为我正在使用angularjs。我是否必须将此代码保存在该特定页面的控制器中或使用ui-view呈现所有代码的索引中。

来自How to measure a time spent on a page?的代码

var start;

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

  $(window).unload(function() {
      end = Date.getTime();
      $.ajax({ 
        url: "log.php",
        data: {'timeSpent': end - start}
      })
   });
});
提前thnx。

1 个答案:

答案 0 :(得分:0)

我能想到的一个简单方法是使用angularjs的$interval服务来计算用户在特定页面上花费的总时间(以秒为单位)。

首先,为总花费的秒数初始化$scope变量,

$scope.TotalSeconds = 0;

然后,增加变量的函数

var IncrementTotalSeconds = function()
{
    $scope.TotalSeconds += 1;
}

之后,使用$interval每秒增加变量。

$interval(IncrementTotalSeconds,1000);

现在您拥有该用户在该特定页面上花费的总时间。

您可以使用$scope.TotalSeconds将花费的总时间(以秒为单位)发布到数据库。

注意:如果您希望时间为分钟或小时,则可以划分总秒数。