[英]JS code to refresh a page at the minute 50 of every hour
我有以下代码将在每小时的“50”分钟刷新“updt”页面。 它仅在我手动刷新页面时才有效。 如何修改代码以感知到 50 分钟。
function show_hide_me () {
var myDate = new Date();
var mins = myDate.getMinutes();
if (mins == 50){
doSomething();
}
}
function doSomething() {
alert("Page will refresh now");
document.getElementById("updt").click();
}
您缺少的是您需要每分钟检查其第 50 分钟。
setInterval(function(){
show_hide_me();
}, 60*1000);
这将每 60000 毫秒(即一分钟)运行一次 function。
正如其他用户所说,您需要的是一个循环和一个方法,如window.reload(true)
或window.location.href = location.href
在mins == 50
时执行。
例如,使用setInterval
:
let intervalId = window.setInterval(function() {
let myDate = new Date();
let mins = myDate.getMinutes();
if (mins == 50){
window.location.href = location.href;
}
}, 60 * 1000); // every 60 seconds
您所要做的就是将您的 function 包裹在
setInterval 以便它可以每分钟执行一次,并且会不断检查它是否已经从 50 分钟到一个小时。
示例代码是:
setInterval(show_hide_me, 60000)
这样做的原因是如果用户碰巧刷新了页面,我们的检查器总是会执行我们的检查器。
我认为您应该将 doSomething function 更改为:
function doSomething() {
window.location = window.location.href;
}
试试这个逻辑。 这将在每小时的第 50 分钟刷新页面。
(function() { var time = 49 - (new Date()).getMinutes(); time = time >= 0? time: (50 + (10 + time)); console.log("Loaded: ", time); setTimeout(function() { window.location.reload(); }, time*60000); })()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.