0

HTMLページをローカルファイルとして定期的に書き込み、ブラウザに表示するプログラムがあります。指定した時間にページを更新したい。

プログラムはファイル、特に初期テキストと targetDate を書き換えます。

META HTTP-EQUIV="refresh" CONTENT="300" だけを使用してみましたが、時間の経過とともにドリフトします。そのため、リロード時間を指定することをお勧めします。

私はサーバーを実行していません。これはすべてクライアント側です。

以下は機能していません(指定された時間にリロードしません。指定された時間にリロードするように変更するにはどうすればよいですか?

<!DOCTYPE html>
<html>
<body>
Initial text
<script>
var myVar=setInterval(function(){myTimer()},1000);
var targetDate==new Date();
targetDate.setDate(myDate.getDate(2013, 5, 20, 8, 16));

function myTimer()
{
var d=new Date();
if (d>=targetDate) {
     location.reload(true)
     }
}
</script>

</body>
</html>
4

1 に答える 1

1
var targetDate = new Date(2013, 4, 20, 8, 16);
setInterval(function () {
    if (new Date().getTime() >= targetDate.getTime()) {
        location.reload(true);
    }
}, 1000);

貼り付けたコードにいくつかの問題があります。簡単にするために少しリファクタリングしました。ただし、重要な問題は、javascript Date オブジェクトの月が 0 から始まることです。したがって、その比較を「今」トリガーしたい場合は、月に 4 を使用する必要があります。

また、getTime() を使用して時間比較を行う傾向があります。一種の習慣ですが、コードの「本当の問題」ではありません。

于 2013-05-21T00:40:09.520 に答える