ブラウザの「戻る」を押しても有効なカウントダウン
ブラウザの「戻る」を押しても有効なカウントダウン
PHPで取得した時間を使ってカウントダウンを表示させるプログラムに
挑戦中なのですが、今の知識で解決出来ない問題が出ているのでご質問させて
頂きました。
PHPで取得した時間が45秒だった場合、残り45秒からカウントダウンが
始まります。javascriptにこの「45」を読み込ませて、45秒から
1秒ずつリアルタイムに秒が減っていくという形です。
0秒が過ぎたら-1秒、-2秒と進んでいきます。
下記のスクリプトで、それが実現出来ました。
----------------------
<script type="text/javascript">
<!--
var phpsecond=<?php print date(s) ?>;
var countSecond=60;
var nowSecond=second;
function countdown(){
document.getElementById('countdown').innerHTML=countSecond-nowSecond;
nowSecond++;
setTimeout('countdown()',1000);
}
//-->
</script>
</head>
<body onload="countdown()">
-----------------------
ただ問題があって、ずっとこのページを見ている状態であれば
大丈夫なのですが、
ページを移動させた後、ブラウザの「戻る」でこのページに戻ると、
移動していた間の時間が止まってしまい、
ページを移動する直前の秒からカウントダウンが再開してしまいます。
これを何とか、ページに戻ってきた時にすぐ正しい秒を表示し直すように
命令したいのですが可能でしょうか?
私なりに考えたのが、
PHPの時間とjavascript時間との差をjavascriptに変数で覚えさせれば
常に正しい時間が表示出来るのかなと思いました。
良い記述方法がございましたら、ご教授頂けますと幸いです。
※それから、このページに戻った際、カウントダウンが0秒を切っていた場合は
ページを自動的にリロードするようにしたいです。
宜しくお願い致します。
お礼
そうですね。20時まで楽しみにしてます。