繁体   English   中英

每小时50分钟刷新页面的JS代码

[英]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。

https://www.w3schools.com/jsref/met_win_setinterval.asp

正如其他用户所说,您需要的是一个循环和一个方法,如window.reload(true)window.location.href = location.hrefmins == 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM