2017-05-16 2 views
0

特定のページでユーザーが費やした時間を追跡し、データをデータベースに保存する問題があるmongodbを使用します。 私は同じことについて1つの答えを見ましたが、私はangularjを使用しているので、そのコードをどこに追加するのか混乱しています。このコードは、特定のページのコントローラまたは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

Googleアナリティクスを使用できない理由は何ですか? – derp

答えて

0

これを行うには、anglejsの$intervalサービスを使用して、特定のページでユーザーが費やした合計時間(秒)を計算することが考えられます。

まず、で変数をインクリメントする$intervalを使用し、その後

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

$scope.TotalSeconds = 0; 

はその後、関数は変数をインクリメントし、費やした合計秒 $scope変数を初期化一秒ごと。

$interval(IncrementTotalSeconds,1000); 

これで、その特定のページにユーザーが費やした合計時間が表示されます。

$scope.TotalSecondsを使用して、データベースに費やした合計時間(秒)を送信できます。

注:時間を分または時間にする場合は、合計秒数を分けることができます。

関連する問題