J'ai eu un problème similaire avec la même erreur, mais ma première ligne de code était un alert(0);
que j'avais inséré pour m'assurer que le script était chargé! Curieusement, le script avait bien été chargé selon les outils de développement d'IE9, mais la première ligne n'avait jamais été exécutée et l'erreur pointait vers ce alert(0);
comme une redéfinition. J'ai même inséré des lignes et des espaces avant et le numéro de ligne et de caractère changeait en conséquence. Cependant, ce n'était manifestement pas la chose qui avait été redéfinie car ce n'est même pas une déclaration, encore moins une redéclaration!
J'ai supprimé des morceaux de fin de script jusqu'à ce que le alert(0);
soit exécuté (indiquant que le script avait bien été chargé et analysé avec succès) et j'ai découvert que la ligne incriminée était :
var screen;
Il s'avère qu'IE9 a déjà un window.screen
avec lequel cette déclaration entrait en conflit, et en renommant mon screen
en eScreen
, le problème a été résolu.
Donc, ma réponse est : ne pas se fier aux indications d'IE9 sur la localisation de la redéclaration!
(Il est également bon de noter que le script fonctionnait très bien dans sa forme originale sur IE7, IE8 et IE10, mais pas sur IE9.)