Javascript:在指定时间重新加载页面

时间:2013-05-21 00:27:03

标签: javascript

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

程序重写文件,尤其是Initial text和targetDate。

我尝试使用META HTTP-EQUIV =“刷新”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>

1 个答案:

答案 0 :(得分: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()进行时间比较。在你的代码中有种习惯,但不是“真正的问题”。