0

我有一个程序定期将 html 页面写入本地文件,该文件显示在浏览器中。我希望页面在指定时间刷新。

程序重写文件,尤其是初始文本和目标日期。

我尝试只使用 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 对象具有从零开始的月份。因此,如果您希望该比较触发“现在”,则需要在该月使用 4。

此外,我倾向于使用 getTime() 进行时间比较。一种习惯,但不是代码中的“真正问题”。

于 2013-05-21T00:40:09.520 回答