刷新页面只有时间

时间:2009-12-23 20:34:13

标签: html webbrowser-control meta-tags

我为刷新网页编写了一个元标记。现在我想只刷新一次页面。 刷新页面的代码只有一次。请帮我解决问题...

先谢谢..

2 个答案:

答案 0 :(得分:1)

使用javascript你可以在其中设置一个带有“refreshed”变量的cookie并检查它是否已设置,如果没有则刷新页面。当然,这涉及到很多用于设置和读取cookie以及重新加载时要调用的函数的代码。

我的方法是url vars,然后又是php而不是meta标签,它会是这样的:

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

其中重新加载页面,在网址中设置变量,在本例中为r进行刷新,为true。 因此下次加载时不会重新加载。它有效,它只是一行代码,它可以节省一些编码时间并完成工作。

更新:(用户想要它在asp中)

应该可以工作,但我还没有尝试过,我现在也不能尝试(我在机场)

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

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

答案 1 :(得分: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>