support scripts script run enabling enabled enable chrome allow javascript internet-explorer internet-explorer-8

javascript - scripts - La función trim() no funciona en IE8?



enable javascript (4)

Cada vez que uso la función trim() en una cadena, funciona bien con Chrome y Firefox, pero aparece un error en IE8 que dice:

El objeto no admite esta propiedad o método

¿Alguien puede decirme por qué sucede esto y si hay una solución alternativa?


Desde entonces, estaba usando jQuery, con la ayuda de @nemo y @ karesh-a se me ocurrió:

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


IE8 no es compatible con la función de recorte. Aquí hay un polyfill:

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


Internet Explorer solo comenzó a admitir trim() desde la versión 9.

Como referencia, el MDN Polyfill para String.prototype.trim() es:

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

y el support para esto es:

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


si lo desea, puede agregar jquery y usar $ .trim (....) esto funcionará ..

$.trim(" hello ");

darte

"hello"