ホームページ > 記事 > ウェブフロントエンド > Internet Explorer で Array.indexOf() を動作させるにはどうすればよいですか?
Internet Explorer ブラウザに対する Array.indexOf() の互換性の修正
JavaScript が広く採用されているにもかかわらず、Internet Explorer ブラウザにはネイティブ機能がありません。 Array.prototype.indexOf() は、配列内のオブジェクトの出現を検出します。この問題を解決するには、ページ上の次のスニペットを使用して Array プロトタイプを拡張できます:
Array.prototype.indexOf = function(obj, start) { for (var i = (start || 0), j = this.length; i < j; i++) { if (this[i] === obj) { return i; } } return -1; }
この修正を実装するときは、次のアドバイスを考慮してください:
ブラウザ検出の回避: 「if (browser == IE Style Browser)」のようなブラウザ検出コードの使用は、信頼性が低く、一般的に推奨されません。予期しない動作が発生する可能性があります。
代わりに、Mozilla 開発者による次の推奨事項を優先してください。ネットワーク (MDC):
if (!Array.prototype.indexOf) { }
このアプローチにより、ブラウザー固有のチェックを必要とせずに互換性が保証されます。ベスト プラクティスとして、ブラウザに依存するソリューションよりも、常にクロスブラウザ ソリューションを優先してください。
以上がInternet Explorer で Array.indexOf() を動作させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。