リアルタイム ナビゲーションのロケーション ハッシュの変更の検出
ナビゲーションに Ajax とハッシュを利用する場合、window.location.hash が変更が必須になります。従来の方法はドキュメントの読み込み時には機能する可能性がありますが、ブラウザの [戻る] ボタンを使用して移動するときにハッシュの変更をキャプチャできません。
ブラウザのサポート制限
残念ながら、ブラウザはネイティブではサポートされていません。位置ハッシュの変更を監視するイベントを提供します。この制限により、リアルタイムのナビゲーション更新に課題が生じます。
解決策: 間隔ポーリング
最も信頼性の高い解決策には、現在のハッシュを継続的にチェックして比較する間隔を設定することが含まれます。以前の値で置き換えます。変更が発生すると、イベントをトリガーしてサブスクライバーに通知できます。理想的ではありませんが、人気のある「reallysimplehistory」ライブラリで実証されているように、このアプローチはハッシュの変更を効果的に検出します。
jQuery の抽象化
プロジェクトで jQuery を使用している場合、よりアクセスしやすいという選択肢が浮上します。 jQuery の抽象化により、ウィンドウ オブジェクトの「hashchange」イベントをリッスンできるようになり、よりシンプルなソリューションが提供されます。
$(window).on('hashchange', function() { // Handle hash change event });
ただし、ネイティブ ブラウザの「hashchange」サポートには一貫性がないため、jQuery は「特別なイベント」機能を採用しています。 。この機能を使用すると、ネイティブ サポートをチェックし、ネイティブ サポートが不足している場合にポーリングとイベントをトリガーするコードをセットアップできます。
結論
ネイティブ ブラウザがないにもかかわらず間隔ポーリングまたは jQuery の抽象化を利用したサポートにより、位置ハッシュの変更を監視する効果的な手段が提供され、Web アプリケーションで高度なリアルタイム ナビゲーション技術が可能になります。
以上がリアルタイム ナビゲーションの「window.location.hash」の変更を確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。