2014-10-12 3 views
1

IE8에서는 trim() 기능이 필요하지만 IE9에서만 사용할 수 있습니다. IE8에 직접 추가하려면 어떻게합니까? 나는 shimming 또는 비슷한 것을 전해 왔지만 어떻게 작동합니까?IE8의 모든 문자열에 누락 된 JavaScript 함수를 추가하는 방법은 무엇입니까?

var trim = String.trim || function (str) { 
    return x.replace(/^\s+|\s+$/gm,''); 
} 

을하지만 그때 나는 trim(str_variable) 모든 str_variable.trim()을 대체해야합니다

나는 현재이 코드를 쓰고 있어요. 다른 방법으로 trim 함수를 작성하여 String에 추가 할 수 있습니까?

+0

변화 "VAR 트림 = String.trim ||" "String.prototype.trim ="로 변경하십시오. 이 작업은 안전하지만 정규 표현식은 느리고 파열됩니다 ... – dandavis

+0

http://stackoverflow.com/questions/8392035/javascript-add-method-to-string-class – Reeling

답변

1
String.prototype.trim = String.prototype.trim || function() { 
    return this.replace(/^\s+|\s+$/gm,''); 
} 

그러나이 질문에 네이티브 메소드와 동일한 기능이 포함되는지 질문합니다.

사용하기 나아지 polyfill at MDN :

if (!String.prototype.trim) { 
    (function(){ 
    // Make sure we trim BOM and NBSP 
    var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; 
    String.prototype.trim = function() { 
     return this.replace(rtrim, ""); 
    } 
    })(); 
} 
+0

MDN이 완벽하지는 않습니다. –

+0

@ ŠimeVidas MDN은 완벽합니다. 항상. –

관련 문제