質問

私が開発しているアプリケーションでは、一部の特定のユーザーがアプリケーションにログインしたままになっている時間を保存する必要があります。残念ながら、Web アプリケーションでは、ユーザーがログオフできる方法がいくつかあります。

  1. ユーザーが「ログオフ」をクリックします。
  2. ユーザーセッションの有効期限が切れます。
  3. ユーザーがウィンドウを閉じます。
  4. ユーザーがアドレス バーに別のサイトの URL を入力します。

最初の方法は、アプリケーションがログオフ プロセスの制御を取得するため、非常に簡単です。しかし、他のものでは、それは困難になります。

この問題を解決するにはどうしますか?

役に立ちましたか?

解決

ページビューごとにカウントを更新します。彼らがログアウトした場合、正確な測定値が得られます。ユーザーが他の方法で移動した場合、最大で問題となるのは、ユーザーが 1 ページに滞在していた時間の長さです。

もしそうだったら 本当に 正確な測定値を取得することが重要であり、場合によっては毎分 AJAX の「ハートビート」を測定することも重要ですが、それはおそらくやりすぎです。

他のヒント

#3と#4では、window.onunloadイベントに何かを添付して計算の時間を取得できますが、AJAXリクエストの前にページが完全にアンロードされないほどコードが高速であることに注意してください送信されます。

#2に関する限り、「ハートビート」はおそらくnickfが提案するのが最良の解決策です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top