ホームページ  >  記事  >  ウェブフロントエンド  >  .trim() は Mozilla では機能するのに、IE8 ではエラーがスローされるのはなぜですか?

.trim() は Mozilla では機能するのに、IE8 ではエラーがスローされるのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-21 07:41:14927ブラウズ

Why does .trim() work in Mozilla but throws an error in IE8?

JavaScript での .trim() の使用: IE での課題

.trim() メソッドは、先頭を削除するために JavaScript で広く使用されています。および文字列の末尾の空白を使用すると、Internet Explorer (IE) ブラウザーで使用するときに問題が発生する可能性があります。この一般的な問題により、次のような質問が出されています。

質問:

Mozilla で JavaScript の文字列に .trim() を適用しようとすると、正常に動作します。ただし、同じコードを IE8 で使用するとエラーが発生します。この不一致の説明は何ですか?また、.trim() を IE と互換性を持たせる解決策はありますか?

コード抜粋:

var ID = document.getElementByID('rep_id').value.trim();

エラーメッセージ:

Message: Object doesn't support this property or method
Line: 604
Char: 2
Code: 0
URI: http://test.localhost/test.js

回答:

IE でのエラーの理由は、.trim() メソッドが組み込み関数ではないことです。 IE9 より前の IE バージョンの場合。この問題を解決し、IE で .trim() 機能を提供するには、次のコードを実装できます。

if(typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, ''); 
  }
}

このコードは、String プロトタイプを拡張して .trim() メソッドを含めます。正規表現を利用して、先頭と末尾の空白を照合して削除します。このコードをスクリプトに追加すると、IE でも .trim() をシームレスに使用できるようになります。

以上が.trim() は Mozilla では機能するのに、IE8 ではエラーがスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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