0

Web ページを更新するためのメタ タグを記述します。今、私はページを一度だけ更新したいと思っています。ページを 1 回だけ更新するコードは何ですか。問題を解決するのを手伝ってください...

前もって感謝します..

4

2 に答える 2

1

JavaScript を使用すると、" refreshed" 変数を含む Cookie を設定し、設定されているかどうかを確認できます。設定されていない場合は、ページを更新します。もちろん、これには Cookie の設定と読み取りのためのかなりのコードと、リロード時に呼び出される関数が含まれます。

私のアプローチはURL変数であり、メタタグではなくphpであり、次のようになります。

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

これは、url に変数を設定してページをリロードしrます。そのため、次にロードするときはリロードされません。それは機能します。たった 1 行のコードであり、コーディング時間を節約し、仕事を終わらせることができます。

更新:(ユーザーはaspでそれを望んでいました)

動作するはずですが、試したことはありませんし、現時点では試すこともできません (空港にいます)。

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

    if refreshOnce <> 1 then  Response.AddHeader "Refresh", "0;URL=/index.php?r=1"
%>
于 2009-12-23T20:58:49.703 に答える
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>
于 2009-12-23T22:22:47.550 に答える