Maison > Article > interface Web > Pourquoi .trim() fonctionne-t-il dans Mozilla mais génère-t-il une erreur dans IE8 ?
Utilisation de .trim() en JavaScript : défis dans IE
Alors que la méthode .trim() est largement utilisée en JavaScript pour supprimer les interlignes et les espaces à la fin des chaînes, les utilisateurs peuvent rencontrer des problèmes lors de son utilisation dans les navigateurs Internet Explorer (IE). Ce problème courant a suscité la question suivante :
Question :
Lorsque vous tentez d'appliquer .trim() à une chaîne en JavaScript sous Mozilla, cela fonctionne avec succès. Cependant, l'utilisation du même code dans IE8 entraîne une erreur. Quelle est l'explication de cette disparité et existe-t-il des solutions pour rendre .trim() compatible avec IE ?
Extrait de code :
var ID = document.getElementByID('rep_id').value.trim();
Message d'erreur :
Message: Object doesn't support this property or method Line: 604 Char: 2 Code: 0 URI: http://test.localhost/test.js
Réponse :
La raison de l'erreur dans IE est que la méthode .trim() n'est pas intégrée fonction dans les versions IE antérieures à IE9. Pour résoudre ce problème et fournir la fonctionnalité .trim() dans IE, vous pouvez implémenter le code suivant :
if(typeof String.prototype.trim !== 'function') { String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); } }
Ce code étend le prototype String pour inclure la méthode .trim(). Il utilise des expressions régulières pour faire correspondre et supprimer les espaces de début et de fin. En ajoutant ce code à votre script, .trim() peut également être utilisé de manière transparente dans IE.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!