Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从上午8:01到8:06每5分钟刷新一页,依此类推。_Javascript_Html - Fatal编程技术网

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

  • 每分钟设置间隔(1000*60)
  • 分别以小时和分钟为单位获取时间
  • 上午8点后或上午8点后的任何时间开始
  • 每5分钟检查一次以刷新
  • 刷新窗口
  • 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
        }
    }