【问题标题】:Javascript Auto Refresh Toggle CheckboxJavascript 自动刷新切换复选框
【发布时间】:2012-07-09 11:34:32
【问题描述】:

我希望我的访问者能够使用复选框(无 iframe)切换自动页面刷新。
这是我在 Google 上找到的最相似的代码,但它是在 2004 年创建的,我似乎无法让它工作。
我在 wordpress 上使用此代码。所以问题可能出在下面的“”timerRefresh.htm?Checked“”中,我不知道将其重命名为什么,因为我的WP页面不以.html/.php/etc结尾......它只是以“/ "
p.s 我知道有用于自动重新加载的浏览器扩展,我不是在寻找那个。

谢谢!

      var asdf = false;
      function StartTime(){
        if(asdf)clearTimeout(asdf)
        asdf = setTimeout("RefreshPage()",5000);
      }
      function RefreshPage(){
clearTimeout(asdf)
        if(document.Test.CB1.checked)
          document.location.href= "timerRefresh.htm?Checked"
      }
      function LoadPage(){
        var findCheck = document.location.href.split("?Chec");
        if(findCheck.length == 2){
          document.Test.CB1.checked=true;
          StartTime()
        }
      }

 

<body onload="LoadPage()">
    <form name="Test">
      <input type="checkbox" name="CB1" onclick="StartTime()">
    </form>
  </body>

【问题讨论】:

    标签: javascript refresh reload


    【解决方案1】:

    试试这个:

    HTML:

    <input type="checkbox" onclick="toggleAutoRefresh(this);" id="reloadCB"> Auto Refresh
    

    JavaScript:

    var reloading;
    
    function checkReloading() {
        if (window.location.hash=="#autoreload") {
            reloading=setTimeout("window.location.reload();", 5000);
            document.getElementById("reloadCB").checked=true;
        }
    }
    
    function toggleAutoRefresh(cb) {
        if (cb.checked) {
            window.location.replace("#autoreload");
            reloading=setTimeout("window.location.reload();", 5000);
        } else {
            window.location.replace("#");
            clearTimeout(reloading);
        }
    }
    
    window.onload=checkReloading;
    

    【讨论】:

      【解决方案2】:

      接受的答案太复杂,对我来说不太适用。这是我所做的:

      <span>Auto Refresh</span>&nbsp;<input type="checkbox" id="autoRefreshCheckbox" value="true" checked="checked" />
      <script type="text/javascript">
      setInterval(function ()
      {
          if (document.getElementById('autoRefreshCheckbox').checked)
          {
              location.reload();
          }
      }, 60000); // interval is in milliseconds
      </script>
      

      【讨论】:

        【解决方案3】:

        如果您没有扩展名,请不要包含扩展名。就这么简单。

        timerRefresh.htm?Checked 将是 nameOfThePage?Checked

        例如:http://www.someblog.com/somePage/ => somePage/?Checked

        【讨论】:

        • 并非所有浏览器都有该扩展,也不是每个人都愿意安装它。为了方便我的访客,我将其包括在内。就那么简单。谢谢
        • 我想我不清楚。我的意思是页面扩展(.html 或 .php 等)没有浏览器扩展。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-25
        • 1970-01-01
        • 1970-01-01
        • 2021-04-15
        • 2016-07-18
        • 1970-01-01
        相关资源
        最近更新 更多