ホームページ  >  記事  >  バックエンド開発  >  単一の PHP ファイル ルーティングで戻るボタンのクリック時にページを強制的に更新する方法

単一の PHP ファイル ルーティングで戻るボタンのクリック時にページを強制的に更新する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-26 14:36:03170ブラウズ

How to Force Page Refresh on Back Button Click in Single PHP File Routing?

単一 PHP ファイル ルーティングの [戻る] ボタンのクリックでページを更新する方法

コード スニペットでは、リダイレクトに .htaccess を使用しています。すべてのトラフィックは単一のindex.phpファイルに送信され、パラメータGETパラメータに基づいて異なるHTMLページが動的に組み込まれます。ただし、戻るボタンでページが更新されないという問題が発生しています。

これに対処するには、次の解決策のいずれかを実装することを検討してください:

オプション 1:

ページが更新されるたびに更新されるタイムスタンプまたは一意の番号を表示する新しい PHP ファイルを作成します。このファイルをindex.php ファイルの最後に含めると、戻るボタンが押されたときにページを強制的に更新できます。

<code class="php">// newpage.php
header("Cache-Control: no-store, must-revalidate, max-age=0");
header("Pragma: no-cache");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
echo time();
?></code>
<code class="html"><!-- index.php -->
<!-- ...your existing code... -->
<?php include "newpage.php"; ?></code>

オプション 2:

JavaScript を使用して、動的に作成された要素のデータを、表示: なしの非表示の入力フィールドに保存します。ページが読み込まれるとき (onload イベント)、隠しフィールドの値を確認します。 「いいえ」の場合は、「はい」に設定して続行します。 「はい」の場合は、ページをリロードします。

<code class="html"><input type="hidden" id="refreshed" value="no">
<script type="text/javascript">
  onload = function () {
    var e = document.getElementById("refreshed");
    if (e.value == "no") e.value = "yes";
    else {
      e.value = "no";
      location.reload();
    }
  };
</script></code>

これらのソリューションでは、戻るボタンが押されたときにページが更新され、複雑な .htaccess 構成やその他のブラウザー固有のメソッドを必要とせずに、必要な機能が有効になります。

以上が単一の PHP ファイル ルーティングで戻るボタンのクリック時にページを強制的に更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。