2011-08-09 11 views
0

私はユーザーがページにどれくらいの期間滞在しているかを判断できる方法を見つけようとしています。私はいくつかのサーバースクリプトを定期的に呼び出すjavascriptソリューションを公開していますが、それ以上の優れたソリューションがあるのだろうかと思います。ユーザーが特定のページにどれくらいの期間滞在したかを確認するにはどうすればよいですか?

私はCan you fire an event in JavaScript before the user closes the window?を読んだことがありますが、役に立つと思われますが、ページが閉じているときは確かに知っておく必要があります。

ページが「アクティブ」であるかどうかを判断する方法はありますか? (他のタブ/ウィンドウの上にあることを意味し、ユーザーはそれに注意を払っていますか?これは教育用Webアプリケーションのためのものです)

答えて

0

サーバーで定期的にphpスクリプトを呼び出すjavascript関数を作成して終了しました。データベースに「最後に更新された」フィールドを保存し、ユーザーがポーリング機能を悪意のある呼び出しをしていないことを保証するために、更新可能な最小時間を設定します。

0

これはどれくらい役立つか分かりません。

しかし、あなたの問題はブラウザのタスクよりもページタスクのようです。 一般的なクライアント側のソルーションを実装する場合は、たとえばchrome-extensionなどと書くことができます。

chrome.tabs.* apiには、ページがロード、アクティブ、選択、またはクローズされたことを検出するために必要な機能がすべてあります。

は、タブが作成された

chrome.tabs.onCreated.addListener(function(Tab tab) {...})); 

火をonCreated。タブを閉じたときに

chrome.tabs.onRemoved.addListener(function(integer tabId, object removeInfo) {...})); 

火をonRemoved。ウィンドウの変更でタブを選択すると

chrome.tabs.onSelectionChanged.addListener(function(integer tabId, object selectInfo) {...})); 

火をonSelectionChanged。

+0

非常に便利です - 私はそれを知らなかった!しかし、私はすべてのブラウザのためにそれを扱うための別のアプローチが必要だと思う... – siliconpi

関連する問題