[解決済み】Internet Explorerのブラウザで、JavaScriptのArray indexOf()を修正する方法
2022-03-30 18:12:32
質問
もしあなたがJavaScriptを少しでも扱ったことがあるなら、Internet ExplorerがArray.prototype.indexOf()のECMAScript関数を実装していないことを知っているでしょう[Internet Explorer 8を含む]。これは大きな問題ではなく、以下のコードでページ上の機能を拡張することができます。
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プロトタイプを拡張していく、というようなチェックをすべてのページで行うべきでしょうか。
if (!Array.prototype.indexOf) {
// Implement function here
}
それとも、ブラウザチェックをして、Internet Explorerであれば、そのまま実装するのでしょうか?
//Pseudo-code
if (browser == IE Style Browser) {
// Implement function here
}
解決方法は?
こんな感じでやってください...
if (!Array.prototype.indexOf) {
}
として MDCによる推奨互換性 .
一般に、ブラウザ検出コードは大反対です。
関連
-
[解決済み】ある要素を別の要素に移動させるには?
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み】module.exports "モジュールが定義されていません"
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Javascript:getElementById対getElementsById(両方が別のページで動作する)。
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】「Uncaught TypeError: Chromeで "Illegal invocation "が発生する。
-
[解決済み】JavaScriptのボタンonclickが機能しない
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】Vueのテンプレートまたはレンダー関数が定義されていない 私はどちらも使っていないのですが?
-
[解決済み】このオブジェクトの "forEach "はなぜ関数でないのですか?
-
[解決済み】ETIMEDOUTエラーの対処方法は?
-
[解決済み] 配列に要素があるかどうかをチェックする【重複あり
-
[解決済み] Internet ExplorerにおけるJavaScriptの配列関数(indexOf, forEachなど)の修正について [終了しました]。