Maison > interface Web > js tutoriel > Comment puis-je faire fonctionner Array.indexOf() dans Internet Explorer ?

Comment puis-je faire fonctionner Array.indexOf() dans Internet Explorer ?

DDD
Libérer: 2024-11-24 09:07:09
original
1000 Les gens l'ont consulté

How Can I Make Array.indexOf() Work in Internet Explorer?

Correction de la compatibilité Array.indexOf() pour les navigateurs Internet Explorer

Malgré l'adoption généralisée de JavaScript, les navigateurs Internet Explorer ne disposent pas des fonctionnalités natives de Array.prototype.indexOf() pour détecter les occurrences d'objets dans les tableaux. Pour résoudre ce problème, vous pouvez étendre le prototype Array avec l'extrait suivant sur votre page :

Array.prototype.indexOf = function(obj, start) {
     for (var i = (start || 0), j = this.length; i < j; i++) {
         if (this[i] === obj) { return i; }
     }
     return -1;
}
Copier après la connexion

Lors de la mise en œuvre de ce correctif, tenez compte des conseils suivants :

  • Vérifier l'existence du prototype : Avant d'étendre le prototype Array, vérifiez si la fonction indexOf() existe déjà en vérifiant l'existence de Array.prototype.indexOf. S'il manque, implémentez la fonction.

Évitez la détection du navigateur : L'utilisation d'un code de détection de navigateur tel que "if (browser == IE Style Browser)" est généralement déconseillée car elle n'est pas fiable et peut conduire à un comportement inattendu.

Préférez plutôt la recommandation suivante de Mozilla Developer Network (MDC) :

if (!Array.prototype.indexOf) {

}
Copier après la connexion

Cette approche garantit la compatibilité sans nécessiter de vérifications spécifiques au navigateur. Il est recommandé de toujours privilégier les solutions multi-navigateurs plutôt que celles dépendant du navigateur.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal