2012-07-10 42 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