Maison  >  Article  >  interface Web  >  Pourquoi .trim() fonctionne-t-il dans Mozilla mais génère-t-il une erreur dans IE8 ?

Pourquoi .trim() fonctionne-t-il dans Mozilla mais génère-t-il une erreur dans IE8 ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-21 07:41:14926parcourir

Why does .trim() work in Mozilla but throws an error in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn