Si vous avez travaillé un tant soit peu avec JavaScript, vous savez qu'Internet Explorer n'implémente pas la fonction ECMAScript pour Array.prototype.indexOf() [y compris Internet Explorer 8]. Ce n'est pas un gros problème, car vous pouvez étendre la fonctionnalité sur votre page avec le code suivant.
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;
}
Quand dois-je le mettre en œuvre ?
Dois-je l'intégrer dans toutes mes pages avec le contrôle suivant, qui vérifie si le prototype de fonction existe et, dans le cas contraire, étendre le prototype de tableau ?
if (!Array.prototype.indexOf) {
// Implement function here
}
Ou bien vérifier le navigateur et si c'est Internet Explorer, l'implémenter tout simplement ?
//Pseudo-code
if (browser == IE Style Browser) {
// Implement function here
}