戻るボタンのクリックを検出しようとする場合、開発者は多くの場合 window.onbeforeunload イベント リスナーに依存します。ただし、このイベントは戻るボタンのクリックだけでなくブラウザのリロードでもトリガーされるため、誤解を招く可能性があります。
ブラウザのリロード干渉を伴わない戻るボタンのクリックの検出
の処理誤検知なしで戻るボタンのクリックを確認するには、カスタマイズされたアプローチの使用を検討してください:
履歴の変更:
ハッシュベースのアプローチ:
実装
<code class="javascript">window.onload = function () { if (typeof history.pushState === "function") { history.pushState("jibberish", null, null); window.onpopstate = function () { history.pushState('newjibberish', null, null); // Handle back button click here }; } else { var ignoreHashChange = true; window.onhashchange = function () { if (!ignoreHashChange) { ignoreHashChange = true; window.location.hash = Math.random(); // Handle back button click here } else { ignoreHashChange = false; } }; } }</code>
互換性
このアプローチChrome と Firefox で効果的に動作することが報告されています。
以上がブラウザのリロードを妨げずにブラウザでのユーザーの「戻る」ボタンのクリックを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。