【问题标题】:need javascript to automatically reload page when minute updates需要 javascript 在分钟更新时自动重新加载页面
【发布时间】:2016-09-05 02:56:12
【问题描述】:

我在我的网站中使用以下代码显示当前时间

function startTime() {
        var today = new Date();
        var h = today.getHours();
        var m = today.getMinutes();
        var s = today.getSeconds();
        m = checkTime(m);
        s = checkTime(s);
        document.getElementById('time').innerHTML =
                 h + ":" + m;
        var t = setTimeout(startTime, 500);
    }
    function checkTime(i) {
        if (i < 10) {i = "0" + i};  // add zero in front of numbers < 10
        return i;
    }

我还在我的 html 中使用自动刷新标记,它每 60 秒后重新加载页面

<meta http-equiv="refresh" content="60">

我想要的是每当时间更改为页面重新加载的下一分钟 这意味着如果当前时间是 14:05 并且当它到达 14:06 时,页面会通过读取此时间更改而不是用户打开页面的 60 秒间隔重新加载。

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    您可以设置超时查看时钟,只需获取实际秒数并等待直到 60 重新加载:

    var date = new Date();
    setTimeout(function(){
        window.location.reload(1);
    },(60 - date.getSeconds())*1000)
    

    只需将其放在脚本标签内的头部

    【讨论】:

      【解决方案2】:

      试试这个

      setTimeout(function(){
          window.location.reload(1);
      }, 60000); // 60 sec
      

      来源:How to reload page every 5 second?

      或者也看看这个

      setTimeout(function(){
          var minutes = (new Date()).getMinutes()
          if ( !minutes%15 ) location.reload(); // if minutes is a multiple of 15
      
      },60000); // 60.000 milliseconds = 1 minute
      

      来源:jQuery auto refresh page on clock time

      【讨论】:

      • 这将始终等待 60 秒,而不是在实际时间的分钟发生变化时等待
      【解决方案3】:

      不建议使用客户端脚本处理本地时间,因为用户的时钟可能会被弄乱,因此您的系统会出现故障。

      所以最好使用任何服务器端语言(如 PHP)从服务器获取时间

      在 PHP 中:

      <?php
         echo date("h:i");
      ?>
      

      现在您可以使用 AJAX 调用此函数,您可以轻松处理您的时间。

      var result=null;
      function getDate(){
          var result=$.ajax({
                url: "script.php",
                type: "POST",
                success: function(data){
                    setTimeOut(function(){getDate();},60000);
                }
          }).responseText;
      }
      

      【讨论】:

        猜你喜欢
        • 2020-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-09
        相关资源
        最近更新 更多