Erreur javascript ‘expected identifier, string or number’ sous IE

Dernièrement, après une mise à jour mineure, des personnes utilisant Internet Explorer se sont plaintes d’un fonctionnement anormal du site sur http://www.apyro.com . Internet Explorer m’a rapidement informé de la nature de l’erreur de façon très claire comme à son habitude : ‘expected identifier, string or number’. Firefox, Chrome, Opera et Safari ne présentent aucune erreurs sur les pages affectées sous IE.

Le code posant problème est le suivant :

var Config = {
urlAppend : '',
}

En fait en PHP j’ai pris l’habitude de toujours mettre la virgule de séparation même à la fin du dernier champs afin d’éviter de l’oublier lors de l’ajout d’un élément en fin de tableau par exemple.

$tableau = array(
1 => 'hello',
2 => 'world',
);

Cela ne pose bien entendu aucun problème à PHP. Cela ne pose d’ailleurs aucun problème non plus en javascript avec la plupart des navigateurs mais bien entendu il faut que cela coince sous IE (6 & 7, je n’ai pas testé avec IE8) …

Pour une fois heureusement la solution ne nécessite pas de hack ou autre supercherie, il suffit de retirer la dernière virgule et tout rentre dans l’ordre.

var Config = {
urlAppend : ''
}

J’espère que cela permettra à certains d’éviter de perdre trop de temps à débugger cette erreur.


Did you enjoy this post? Why not leave a comment below and continue the conversation, or subscribe to my feed and get articles like this delivered automatically each day to your feed reader.

No comments yet.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(required)

(required)