wake-up-neo.com

die Funktion trim () funktioniert in IE8 nicht?

Wenn ich die Funktion trim() für eine Zeichenfolge verwende, funktioniert es gut mit Chrome und Firefox, aber im IE8 wird eine Fehlermeldung angezeigt:

Objekt unterstützt diese Eigenschaft oder Methode nicht

Kann mir jemand sagen, warum das passiert und ob es eine Problemumgehung gibt?

28
Mukul

IE8 unterstützt nicht die Trimmfunktion ..__ Hier ist eine Polyfill:

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

wenn Sie möchten, können Sie Jquery hinzufügen und $ .trim (....) verwenden, dies wird funktionieren.

$.trim("  hello ");

gebe dir

"hello"
39
Karesh A

Internet Explorer hat erst ab Version 9 die Unterstützung für trim() gestartet.

Als Referenz ist der MDN Polyfill für String.prototype.trim() :

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, '');
    };
  })();
}

und die Unterstützung dafür ist:

+--------+---------+----+-------+--------+
| Chrome | Firefox | IE | Opera | Safari |
+--------+---------+----+-------+--------+
| All    | 3.5     |  9 | 10.5  |      5 |
+--------+---------+----+-------+--------+
2
dav_i

Seitdem habe ich mit Hilfe von @nemo und @karesh-a jQuery verwendet, und ich kam mit: 

if(typeof String.prototype.trim !== 'function') {
     String.prototype.trim = function(){
        return jQuery.trim( this );
    }
}
0
Amit Bhagat