2009-12-23 88 views
0

我寫一個元標記刷新網頁。現在我只想刷新一次頁面。 只有一次刷新頁面的代碼是什麼。請幫我解決這個問題...提前刷新頁面只有時間

謝謝..

+0

爲什麼你只需要刷新頁面一次? – 2009-12-23 20:36:38

回答

1

使用JavaScript,你可以設置一個cookie,在其爲「refreshed」變量,並檢查它的設置,如果沒有則刷新頁面。當然,這涉及到很多用於設置和讀取cookie的代碼以及重新加載時要調用的函數。

我的做法是網址增值經銷商,然後再是PHP不是meta標籤,這將是這樣的:

<?php 
    if($_GET['r'] != 1) header('refresh: 0; url=/index.php?r=1'); 
?> 

從而重新加載頁面設置URL中的變量,在這種情況下r的刷新,如同。 所以下次加載它不會重新加載。它可以工作,它只是一行代碼,它會爲您節省一些編碼時間並完成工作。

更新:(用戶希望它在ASP)

應該工作,但我還沒有嘗試過,也沒有我可以試試它的那一刻(我在機場)

<% 
    dim refreshOnce 
    refreshOnce = request.querystring("r") 

    if refreshOnce <> 1 then Response.AddHeader "Refresh", "0;URL=/index.php?r=1" 
%> 
+0

感謝和它的好,但我在asp.net工作,以什麼方式我寫在.aspx頁面的代碼。請幫助我.. – Raghu 2009-12-23 21:07:28

+0

我不使用asp,但有一點研究幫助我將代碼翻譯成現在顯示的代碼,但還沒有嘗試過。 – johnnyArt 2009-12-23 21:44:54

0

的Javascript解決方案,使用表單字段來存儲狀態:

<html> 
    <head> 
    <script language="javascript"> 
     function init() { 
     var form = document.getElementById('theform'); 
     var input = form.refreshed; 
     function reload() { 
      location.reload(false); 
     } 
     function isRefreshed() { 
      return !!input.value; 
     } 
     function doDisplay() { 
      var el = document.getElementById(isRefreshed() ? 'two' : 'one'); 
      el.style.display = 'block'; 
     } 
     function conditionalRefresh() { 
      if (!isRefreshed()) { 
      input.value = 'true'; 
      setTimeout(reload, 1000); 
      } 
     } 
     doDisplay(); 
     conditionalRefresh(); 
     } 
    </script> 
    </head> 
    <body onload="init();"> 
    <form id="theform"> 
     <input type="hidden" name="refreshed" /> 
    </form> 
    <div id="one" style="display: none;"> 
     one 
    </div> 
    <div id="two" style="display: none;"> 
     two 
    </div> 
    </body> 
</html>