我遇到了一个问题,我必须跟踪用户在特定页面上花费的时间,并使用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。
答案 0 :(得分:0)
我能想到的一个简单方法是使用angularjs的$interval
服务来计算用户在特定页面上花费的总时间(以秒为单位)。
首先,为总花费的秒数初始化$scope
变量,
$scope.TotalSeconds = 0;
然后,增加变量的函数
var IncrementTotalSeconds = function()
{
$scope.TotalSeconds += 1;
}
之后,使用$interval
每秒增加变量。
$interval(IncrementTotalSeconds,1000);
现在您拥有该用户在该特定页面上花费的总时间。
您可以使用$scope.TotalSeconds
将花费的总时间(以秒为单位)发布到数据库。
注意:如果您希望时间为分钟或小时,则可以划分总秒数。