ホームページ  >  記事  >  バックエンド開発  >  ブラウザの「戻る」ボタンをクリックしてページに戻ったときに、PHP でページを更新するにはどうすればよいですか?

ブラウザの「戻る」ボタンをクリックしてページに戻ったときに、PHP でページを更新するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-12-01 00:56:542485ブラウズ

インターネットで検索するものはすべて ASP です。PHP で戻るボタンがキャッシュされないようにするにはどうすればよいですか?

返信内容:

インターネットで検索するものはすべて ASP です。PHP で戻るボタンがキャッシュされないようにするにはどうすればよいですか?

  1. ブラウジングhistory.back()やその他の動作をブロックできません

  2. ページをキャッシュしないように設定することを検討できます

    リーリー
  3. 本当に戻ることを拒否したい場合は、次の方法を使用してそれをシミュレートすることができます。これにより、一度戻ると現在のページに自動的にジャンプします。これは更新と同様です

    。 リーリー

ホームページのページング リンクを例に挙げます:
<a href="/index.php?page=3" onclick="page(3);return false;">3</a> <code><a href="/index.php?page=3" onclick="page(3);return false;">3</a>
搜索引擎的爬虫会根据href访问/index.php?page=3获取第3页数据,利于SEO.
用户在浏览器里右键选择"在新标签页中打开"也能正常访问到/index.php?page=3.
如果用户在页面直接点击链接,则触发click事件,由JS通过AJAX加载并渲染局部数据,以及设置location.hash为/index.php#/page/3.
location.hash = "#/page/3";
浏览器能够自行记住location.hash历史记录,我们只需监听location.hash改变的事件hashchange検索エンジンのクローラーは、href に従って /index.php?page=3 にアクセスし、3 ページ目のデータを取得します。これは SEO にとって有益です。

ユーザーも同様に行うことができます。ブラウザをクリックして「新しいタブで開く」を選択します。通常は /index.php?page=3 にアクセスできます。

ユーザーがページ上のリンクを直接クリックすると、クリック イベントがトリガーされ、ローカル データがロードされますAJAX を介して JS によってレンダリングされ、location.hash は /index.php #/page/3 に設定されます。

location.hash = "#/page/3"; code>

ブラウザは、location.hash の履歴をそれ自体で記憶できます。location.hash を監視することだけが必要です。 変更されたイベント hashchange (IE8 をサポートしますが、IE7/6 はサポートしません) は、次の効果を達成できます。ユーザーがブラウザの戻るボタンをクリックしたときにページをリロードします。

リーリー

上記の「SEOとエクスペリエンスを同等に重視したハイパーリンクの設計」は投稿者のニーズを満たすことができるはずですが、一定の変換コストが必要です。🎜 🎜 🎜ページがロードされ、js がページを更新します location.href = location.href🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。