我有一个程序,它定期将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>
答案 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()进行时间比较。在你的代码中有种习惯,但不是“真正的问题”。