la fonction trim() ne fonctionne pas dans IE8?
Chaque fois que j'utilise la fonction trim()
sur une chaîne, cela fonctionne bien avec Chrome et Firefox mais je reçois une erreur dans IE8 disant:
L'objet ne prend pas en charge cette propriété ou cette méthode
Quelqu'un peut-il me dire pourquoi cela se produit et s'il y a un travail autour?
28
demandé sur
dav_i
2012-06-27 09:07:28
4 réponses
IE8 ne prend pas en charge la fonction trim. Voici un polyfill:
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
};
}
82
répondu
nemo
2014-04-25 22:00:40
Si vous le souhaitez, vous pouvez ajouter jquery et utiliser $.coupe(....) cela fonctionne..
$.trim(" hello ");
Vous Donner
"hello"
39
répondu
Karesh A
2012-06-27 05:11:10
Internet Explorer n'a démarré la prise en charge de trim()
qu'à partir de la version 9.
Pour référence, la MDN Polyfill pour String.prototype.trim()
est:
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, '');
};
})();
}
+--------+---------+----+-------+--------+
| Chrome | Firefox | IE | Opera | Safari |
+--------+---------+----+-------+--------+
| All | 3.5 | 9 | 10.5 | 5 |
+--------+---------+----+-------+--------+
2
répondu
dav_i
2015-03-12 16:10:13
Depuis, j'utilisais jQuery, avec l'aide de @nemo et @karesh-a je suis venu avec:
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function(){
return jQuery.trim( this );
}
}
0
répondu
Amit Bhagat
2017-03-05 09:46:54