2011-05-28 59 views
0

如何重新載入HTML基礎網頁一次?我正在使用history.go(0);與身體標記功能onLoad,但我只想運行它一次。請記住,我使用iframe所以這是不可能使用以下類型的代碼:使用JavaScript重新載入一次HTML頁面

<script language=" JavaScript" ><!-- 
function MyReload() 
{ 
window.location.reload(); 
} 
//--></script> 

<Body onLoad=" MyReload()" > 

,但下面的代碼沒有工作上面的代碼工作不錯,但問題是,我需要它的負荷,一旦

<BODY BGCOLOR=#FFFFFF background="../images/Index_04.jpg" onLoad="history.go(0)" > 

注:我使用的2個iframe後對主頁鏈接用戶點擊iframe中加載頁面比我想與當前的iframe頁面重新加載整個頁面。

+1

爲什麼粗體標記,九十年代早已不復存在 – Ibu 2011-05-28 07:57:15

+0

你正在試着重新加載每次它加載,爲什麼你想在第一種方式重新加載,也許還有更好的選擇 – Ibu 2011-05-28 07:58:21

+2

這沒有任何意義無論如何,一旦頁面加載,它將重新加載併成爲一個新頁面,因此它會重新加載(第一次爲該加載)。我*猜測*您正嘗試讓瀏覽器顯示最近的內容,這是通過[緩存控制](http://www.mnot.net/cache_docs/)完成的。 – Quentin 2011-05-28 07:58:34

回答

5

您可以在頁面結尾處使用querystring(例如?r),並在重定向之前檢查它,就好像它存在一樣,重定向已完成。

if(window.location.href.substr(-2) !== "?r") { 
    window.location = window.location.href + "?r"; 
} 

免責聲明:我同意其他人,你可能有一個更好的解決方案 - 而且永遠不需要刷新「只有一次」。

使用

在你的頁面底部的說明,略高於</body>你應該把這個: -

<script type="text/javascript"> 
    if(window.location.href.substr(-2) !== "?r") { 
     window.location = window.location.href + "?r"; 
    } 
</script> 

就是這樣。

+0

抱歉不是一個好的答案,只發布當你不抱歉 – Ibu 2011-05-28 08:02:54

+0

我不善於HTML和JavaScript我明白你試圖教我,但我無法做到這一點。 – Usman 2011-05-28 08:09:26

+0

@Ibu,@丹尼斯 - 更新澄清。 – isNaN1247 2011-05-28 08:09:55

0

我能想到做到這一點的唯一方法是使用cookie(或者如果您在正確的平臺上,會話),並且在第一次重新加載標記時標記,變量也可能在這種情況下工作,因爲我們談到IFRAME,但我從來沒有嘗試過這樣的事情。

3
<script type="text/javascript"> 
     $(document).ready(function(){ 

      //Check if the current URL contains '#' 
      if(document.URL.indexOf("#")==-1) 
      { 
       // Set the URL to whatever it was plus "#". 
       url = document.URL+"#"; 
       location = "#"; 

       //Reload the page 
       location.reload(true); 

      } 
     }); 
    </script> 

由於if條件,頁面只會重新載入一次。希望這會有所幫助。

+0

這項工作 - 但它附加一個#的URL - 不理想。這也會影響瀏覽器的「返回」按鈕,因爲它返回到非URL附加頁面。如何在加載後刷新頁面 - 不附加URL? – 2014-08-11 20:36:18

+0

這種方法適合我 – emery 2015-03-16 19:39:53

0

這是另一種解決方案,它適用於我使用localStorage。在這個解決方案中,我們不需要修改現有的網址。

<script type='text/javascript'> 
(function() 
{ 
    if(window.localStorage){ 
    if(!localStorage.getItem('firstReLoad')){ 
    localStorage['firstReLoad'] = true; 
    window.location.reload(); 
    } else { 
    localStorage.removeItem('firstReLoad'); 
    } 
    } 
})(); 
</script> 
相關問題