• 締切済み

JavaScriptで時間のカウントをとる場合は、何に依存するのですか?

JSPのほうで、beanファイルのsessionのタイムアウトになるまでの時間のカウントをとりたいと思っています。で、その時間のカウントは、JavaScriptでとりたいと思っています。会社のサーバーで皆で共有しているbeanファイルの、sessionのタイムアウトまでの時間をJavaScriptでカウントし、「session のタイムアウトまでxx分前です」のようなアラートを、随時表示させるため です。で、そのカウントをとる場合は、何分おきとかに(例えば15分おきとか) とったほうがよいのか、もしくは常にカウントをとっていたほうがよいのか、 というのがわかりません。JavaScriptでカウントを取る場合、そのカウントはクライアント側(のマシン)にどのくらい依存するものなのか、というのが わからないからです。・・・どなたか、よろしければ、良いアドバイスをください。ちょっとJavaScriptの質問ではない部分もありますが・・・。

みんなの回答

  • zzzzzz
  • ベストアンサー率61% (70/113)
回答No.1

常に経過時間をカウントしていたら他の処理ができません。 window.setTimeout()かwindow.setInterval()あたりで処理をすると良いかと思われますが、 この関数は、正確に何ミリ秒後に起動する、というものではないため注意が必要です。 正確な経過時間を取得したいのならDateオブジェクトを使用してください。 dt = new Date(); で現在の時刻が取得でき、dt.getTime()でミリ秒単位になります。 カウント開始時刻に求めたこの値との引き算で、経過時間を調べられます。 この値の正確性はクライアントのタイマの正確性とほぼ一致します。 なお、HttpSessionのタイムアウト設定については、javax.servlet.http.HttpSessionのgetMaxInactiveInterval()およびsetMaxInactiveInterval()を参照してください。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=238614, http://tohoho.wakusei.ne.jp/js/date.htm#getTime

関連するQ&A