2009-12-23 69 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>