パフォーマンスは問題ではありません。最新のブラウザはすべて onhashchange イベントをネイティブにサポートするようになったため、間隔チェックは必要ありません。
- より詳しい情報 -
jQuery History Pluginは、イベントをネイティブに実装していない古い世代のブラウザーに対して 200 ミリ秒のテストを使用します。onhashchange
そのイベントがネイティブに実装されていない場合、間隔の変更を使用してその機能を回避する必要があります。私の知る限り、他に方法はありません。幸いなことに、すべての主要なブラウザーの最新バージョンが onhashchange イベントをネイティブでサポートするようになったため、このチェックは不要になりました。
200 ミリ秒間隔のチェックが何をするか見てみましょう。IE6 または 7 を使用している場合は、iframe の状態をチェックします (これらのブラウザーでは、戻るボタンと進むボタンをエミュレートするために iframe が必要ですが、他のブラウザーでは iframe は必要ありません)。IE 以外の別の古いブラウザーを使用している場合location.getHash()
は、チェックで使用できます (前に説明したように iframe は使用しません)。どちらのタイプのチェックも、必要なオーバーヘッドを最小限に抑えて、非常に高速かつ最小限に抑えるように設計されています。ブラウザが実際にユーザーに何をさせようとしているのか、可能な限り負荷の少ないコードを使用してそれを実行しようとしているかがすべてです。