2

特定のユーザーが Web アプリケーションの特定のページにどれくらいの時間を費やすかを約 1 分の精度で知る良い方法はありますか?

私が思いついた解決策の 1 つは、Javascript を使用して Web サービスを毎分ヒットし、データベースでヒットを追跡することです。しかし、もっと良い方法があるのではないかと思っていました.Google アナリティクスでこれを達成する方法はありますか? もしそうなら、どのように?

4

2 に答える 2

1

興味のある方のために、私は小さな JavaScript ライブラリーと、ユーザーが Web ページと対話する時間を測定するサービスにいくつかの作業を加えました。それは実際にチェイスが彼/彼女の答えで説明していることを正確に行います! ただし、ユーザーが実際にページと対話している時間をより正確に (完全ではありませんが) 追跡するという追加の利点があります。ユーザーが別のタブに切り替えたり、アイドル状態になったり、ブラウザーを最小化したりする時間を無視します。

編集: 現在の API の使用法を含めるように例を更新しました。

http://timemejs.com

使用例:

ページに含める:

<script src="http://timemejs.com/timeme.min.js"></script>
<script type="text/javascript">
TimeMe.initialize({
    currentPageName: "home-page", // page name
    idleTimeoutInSeconds: 15 // time before user considered idle
});
</script>

時間をバックエンドに報告したい場合:

window.onbeforeunload = function(){
    xmlhttp=new XMLHttpRequest();
    xmlhttp.open("POST","ENTER_URL_HERE", false);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    var timeSpentOnPage = TimeMe.getTimeOnCurrentPageInSeconds();
    xmlhttp.send(timeSpentOnPage);
});

document.onbeforeunloadTimeMe.js は、websockets を介したタイミング データの送信もサポートしているため、完全な同期 HTTP 要求をイベントに強制する必要はありません。

于 2015-01-31T20:45:07.293 に答える