-3

重複の可能性:
ページの読み込み、ページのリロード時に一度JavaScript関数を呼び出す方法、再度呼び出さないでください

カウントダウンタイマーをトリガーするjspページでjavascriptを呼び出したいです。ただし、ユーザーがページを更新した場合、タイマーをリセットしたくありません。残り時間から継続する必要があります。どうすればこれを達成できますか?

4

2 に答える 2

2

あなたのコメントでは、ページが読み込まれるたびに再起動しないタイマーが必要だと言っています。これは私がすることです...

ページが呼び出されtimer.jsp、そこにタイマーのカウントダウンを開始するスクリプトがあるとします。したがって、私は次のことを行います...

  1. timer.jsp初めてページを生成するときは、タイマーが終了する日時を含むというsessionパラメーターを作成します。たとえば、日時がでタイマーが分単位の場合、値を保存します。TimerFinish01/01/2012 10:002501/01/2012 10:25
  2. ユーザーがページを表示するたびに (最初のページの読み込みとすべてのページの更新を含む)、このTimerFinish値は既に存在します。これを使用して、タイマーが終了するまでの時間を計算できます。この値を次のように計算します。TimerFinish - currentDateTime
  3. ステップ 2 で計算した値からカウントダウンを開始するように、JavaScript でタイマーを設定します。

そのため、ユーザーが何をしても (ページを更新するなど)、タイマーは常に残り時間から開始され、単純に 25 分にリセットされることはありません。timer.jspユーザーが をリロードすると、オブジェクトから既存の値を読み取り、それTimerFinishsession使用して残り時間の正しい値を設定します。

于 2012-06-04T13:12:18.650 に答える
0

JSP は、HTML を作成する動的な方法にすぎません。それで、あなたの質問は「ページの読み込み時にjavascriptを呼び出す方法は?」です。

そして答えは。

ブラウザがページを解析するときに、すべてのスクリプトが実行されます。これを試して:

<html>
  <head>
    <script>alert("from head");<script>
  </head>

  <body>
    <script>alert("from body");<script>
  </body>
</html>

ページの読み込みが完了したときにスクリプトを実行することもできます。多くの要素にはonloadイベントがあります。たとえばbody要素。したがって、次のように言えます。

<body onload="alert('body is loaded')">

そのため、ボディのロードが完了するとアラートが表示されます。

于 2012-06-04T11:33:31.737 に答える