ホームページ > 記事 > ウェブフロントエンド > Internet Explorer の「Array.prototype.indexOf()」問題を解決するにはどうすればよいですか?
JavaScript を利用する場合、Internet Explorer には Array.prototype.indexOf の ECMAScript 実装が欠けていることを認識することが重要です。 () には、IE8 までのバージョンが含まれます。次のコードを使用してこの機能をページ上で簡単に拡張できるため、この制限は大きな障害にはなりません:
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; }
いつ実装するか:
この拡張機能の実装を、プロトタイプ関数の存在をチェックしてすべてのページで行う必要があるかどうか。ただし、この機能を明示的に必要とするページにのみ実装することを強くお勧めします。
まとめ:
一般的に考えられているように、ブラウザ検出コードは可能な限り避けてください。望ましくない。代わりに、特徴検出を利用して Array.indexOf() 関数の存在を特定し、それに応じて実装します。上記の推奨チェックを利用すると、不要なブラウザ固有のコードを使用せずに互換性が確保されます。
以上がInternet Explorer の「Array.prototype.indexOf()」問題を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。