2012-07-10 113 views
1

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

谢谢!

 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> 

回答

17

试试这个:

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; 
+0

非常感谢大卫! – fudgepuppy 2012-07-10 03:17:41

+0

我想知道这是否适用于不同的浏览器 – 2014-10-21 09:19:51

0

如果你没有一个推广,不包括一个。就那么简单。

timerRefresh.htm?CheckednameOfThePage?Checked

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

+0

并非所有的浏览器都具有该扩展名,并不是所有人都不愿意安装它。我为了我的访问者的便利而加入了这个。就那么简单。 谢谢 – fudgepuppy 2012-07-10 02:41:39

+0

我想我不清楚。我的意思是页面扩展(.html或.php等)没有浏览器扩展。 – rcdmk 2012-07-10 02:53:31

+0

啊哈哈好吧,明白了。谢谢你的工作。 – fudgepuppy 2012-07-10 03:13:38