Javascript 如何从上午8:01到8:06每5分钟刷新一页,依此类推。
Javascript 如何从上午8:01到8:06每5分钟刷新一页,依此类推。,javascript,html,Javascript,Html,哈沙尔 var limit=“5:0” var doctitle=document.title var parselimit=limit.split(“:”) parselimit=parselimit[0]*60+parselimit[1]*1 函数beginrefresh(){ if(parselimit==1) window.location.reload() 否则{ 解析极限-=1 curmin=数学下限(解析极限/60) cursec=parselimit%60 如果(curmin!=
哈沙尔
var limit=“5:0”
var doctitle=document.title
var parselimit=limit.split(“:”)
parselimit=parselimit[0]*60+parselimit[1]*1
函数beginrefresh(){
if(parselimit==1)
window.location.reload()
否则{
解析极限-=1
curmin=数学下限(解析极限/60)
cursec=parselimit%60
如果(curmin!=0)
curtime=curmin+“分钟+cursec+”秒,直到页面刷新
其他的
curtime=cursec+“页面刷新前还有几秒钟!”
document.title=doctitle+'('+curtime+')'
setTimeout(“beginrefresh()”,1000)
}
}
if(window.addEventListener)
window.addEventListener(“加载”,beginrefresh,false)
else if(窗口附件)
窗口。附件(“加载”,beginrefresh)
使用设置间隔
setInterval(function() {
window.location.reload();
}, 300000);
setinterval的单位为毫秒(5分钟=300k毫秒)新页面(刷新后)不知道上一页的状态。因此,您需要一种通过查询参数或其他方式向前传递该状态的方法
我的方法是在他们单击链接时重新加载页面,并将新页面设置为在5分钟后刷新(保持相同的url,以便我们使用刷新代码加载页面)
if(window.location.search.includes('refresh')){
setTimeout(function(){//我们处于“刷新模式”,所以只需等待5分钟,然后再次执行
location.href=location.href;
}, 1000 * 60 * 5);
}
要在指定时间启动,请使用以下“等待”功能
var startHour=8;
var startMinute=5;
函数wait(){
var startTime=currentTime=new Date();
startTime.setHours(startHour);
startTime.setMinutes(startMinute);
if(开始时间<当前时间){
设置超时(等待,1000);
}否则{
//在此处运行刷新功能
}
}
要获得预期结果,请使用SetInterval
setInterval(函数(){
var currTimeHr=new Date().getHours();
var currTimeMin=new Date().getMinutes();
如果(currTimeHr>=8){//从8点开始或在上午8点之后的任何点开始
如果(currTimeMin%5==0){//每5分钟检查一次
window.location.reload(true);//刷新页面
}
}
},1000*60)
什么链接?此页面似乎在加载后立即开始刷新周期。你的描述听起来像是在5分钟内成功刷新。我在这里没有看到任何与“点击”事件相关的内容。我不清楚问题出在哪里。代码是有效的,但你希望它只在早上8:01开始?请解释用例。如果有人在上午8:00或8:02打开页面,会发生什么?@David By click,我的意思是当有人点击链接进入此页面时。问题是我想在上午8:01和8:06刷新页面。我希望页面能在世界时间每5分钟刷新一次,而不是从有人点击页面开始每5分钟刷新一次。我希望这能解释它。@Greg是的,当有人在8:02点击它时,它会在8:07刷新。我希望页面在8:06刷新,无论何时有人点击它。最后一次刷新应该在8:01。它将如何在上午8:01开始?删除我的答案,因为这是最佳答案。将if条件更改为if(currTimeHr>=7&&currtimen>=59)可能是if条件执行,重定向和页面加载..所有这些都发生在30秒内刷新时间的任何更改??我尝试添加以下内容,但它仍然不能刷新。var currTimeSec=new Date().getSeconds();if(currTimeHr>=8&&currTimeMin>=0&&currTimeSec==30)if(currTimeMin%5==0){window.location.reload(true);}}}},1000*60)
var startHour = 8;
var startMinute = 5;
function wait() {
var startTime = currentTime = new Date();
startTime.setHours(startHour);
startTime.setMinutes(startMinute);
if (startTime < currentTime) {
setTimeout(wait, 1000);
} else {
// run refresh function here
}
}