ホームページ > 記事 > ウェブフロントエンド > .trim() は Mozilla では機能するのに、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 サイトの他の関連記事を参照してください。