ホームページ  >  記事  >  ウェブフロントエンド  >  Internet Explorer の「Array.prototype.indexOf()」問題を解決するにはどうすればよいですか?

Internet Explorer の「Array.prototype.indexOf()」問題を解決するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-23 08:15:24829ブラウズ

How Can I Fix the `Array.prototype.indexOf()` Issue in Internet Explorer?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。