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?
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, '');
};
}
wenn Sie möchten, können Sie Jquery hinzufügen und $ .trim (....) verwenden, dies wird funktionieren.
$.trim(" hello ");
gebe dir
"hello"
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 |
+--------+---------+----+-------+--------+
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 );
}
}