> 웹 프론트엔드 > JS 튜토리얼 > .trim()이 Mozilla에서는 작동하지만 IE8에서는 오류가 발생하는 이유는 무엇입니까?

.trim()이 Mozilla에서는 작동하지만 IE8에서는 오류가 발생하는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-21 07:41:14
원래의
950명이 탐색했습니다.

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, ''); 
  }
}
로그인 후 복사

이 코드는 .trim() 메서드를 포함하도록 문자열 프로토타입을 확장합니다. 정규식을 사용하여 앞뒤 공백을 일치시키고 제거합니다. 이 코드를 스크립트에 추가하면 IE에서도 .trim()을 원활하게 사용할 수 있습니다.

위 내용은 .trim()이 Mozilla에서는 작동하지만 IE8에서는 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿