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

Javascript:在指定时间重新加载页面,javascript,Javascript,我有一个程序,它定期将html页面作为本地文件写入,并显示在浏览器中。我希望页面在指定时间刷新 程序重写文件,尤其是初始文本和targetDate 我试着只使用META-HTTP-EQUIV=“refresh”CONTENT=“300”,但这会随着时间推移而改变。这就是为什么我更喜欢指定重新加载时间 我没有运行服务器,所有这些都是客户端的 以下内容不起作用(它不会在指定时间重新加载。如何更改它以使其在指定时间重新加载 <!DOCTYPE html> <html> <

我有一个程序,它定期将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>

初始文本
var myVar=setInterval(函数(){myTimer()},1000);
var targetDate==新日期();
targetDate.setDate(myDate.getDate(2013,5,20,8,16));
函数myTimer()
{
var d=新日期();
如果(d>=targetDate){
位置。重新加载(true)
}
}
粘贴的代码中存在两个问题。为了简单起见,我进行了一些重构。但关键问题是,javascript日期对象的月数为零。因此,如果您希望该比较触发“现在”,则需要在该月使用4


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

你说的“修复”是什么意思你打破它了吗?PS:你最好使用
setTimeout
而不是
setInterval
以1秒为周期。它不会在指定的时间重新加载。我会以分钟为单位设置间隔,但一直使用秒进行测试。你从哪里得到这个代码的?你知道这个代码的作用吗?
Date#setDate
设置日期月份。尝试
新日期(“03/22/2013 12:13:14”)
@foosion:
console.log(varname);
并查看控制台。“我想”---在编程中,遵循事实是很常见的,而不是遵循有效的信念。谢谢。对于超过1秒的间隔,除了增加1000毫秒之外,我是否可以做任何更改?不。只要将间隔超时更改为您需要的任何值,它就会起作用。实际上,在这里使用
setInterval
是没有意义的,但是
setTimeout
如果目标日期发生变化,这是有意义的,这是我的假设,因为引用了myDate变量。但是,如果这将在一个特定的已知时间执行,则zerkms是正确的。如果目的是持续评估状态,则setInterval确实是正确的使用方法,但本质上与MET不同一个HTTP-EQUIV=“refresh”CONTENT=“300”?如果是这样,我担心的是“漂移”。使用此刷新,经过多次循环后,它不再以300秒的倍数重新加载。
var targetDate = new Date(2013, 4, 20, 8, 16);
setInterval(function () {
    if (new Date().getTime() >= targetDate.getTime()) {
        location.reload(true);
    }
}, 1000);