Où comment passer une soirée de geek sur messagerie instantanée avec un pote…
Simple ! Lancez-vous dans le codage d’une application web histoire de vous remettre dans le sujet et de faire des tests… Produisez un code qui a l’air à peu près correct, qui fait ce que vous voulez, qui fonctionne à merveille dans IE et testez-le sur Firefox.
Et là, c’est le drame !
Il ne se passe rien de chez rien au clic sur le lien « magique » de votre début d’appli/test. Et le comble, c’est que vous n’avez aucune erreur remontée par la console de debbugage. Vous surfez donc, lisez des docs à n’en plus finir… en profitez pour découvrir une extension pour le debbugage génialissime pour votre Firefox chéri. Bon elle ne vous apporte pas de solution puisqu’elle aussi dit que tout ce passe bien dans le cas qui m’occupait, mais elle est vraiment chouette !
Puis moults jurons plus tard, vous comparez votre code à un similaire trouvé sur le net… Vous cherchez la différence expliquant pourquoi ce code marche et pas le votre… Et là, un mélange de joie pour avoir solutionner votre problème et de haine devant la bêtise de la chose vous envahit !
En effet, dans firefox les propriétés onreadystatechange
et readyState
ont l’air d’être sensibles à la casse. Ce qui à mon avis est plutôt débile dans le sens où :
- on est pas habitué à ça en javascript mais c’est pas le plus grave [ADD] En fait si mais ce n’est toujours le plus grave à mon avis
- elles n’ont même pas une syntaxe proche (pourquoi le « state » prend un « s » minuscule dans
onreadystatechange
et un « s » majuscule dansreadyState
?) - alors que firefox ne les reconnait pas quand ils sont mal écrits, il ne les considère visiblement pas comme une erreur puisque la console reste muette ! Pratique pour trouver la faute ça ! [ADD] Apparement c’est ni juste ni faux pour lui… c’est juste ignoré ! Hallucinant !
- pas trouvé un seul site disant une seule fois à quel point ce « détail » était important ! Je suis quand même pas le seul à avoir fait cette bêtise, si ?
Tout cela m’a rappelé pourquoi j’avais beaucoup de mal à considérer d’un bon oeil le javascript en tout cas… Ou plus exactement son implémentation dans les navigateurs web.
3 commentaires
Bein ça c’est pratique ! : Quand on comprends pas, on ignore. Au moins, ça bourre pas les logs d’erreur !
Ca me rappelle quand j’avais dû migrer sur unix une appli php bricolée à souhait qui était à la base hébergée sous Windaube : Le "développeur" (hum… bricoleur ouais !) avait, je pense, fait exprès de varier la casse dans toutes ses variables et scripts.
Mais là, au moins, les messages d’erreur avaient le mérite de me sauter à la gueule…
C’est fou ça… Comment est ce que l’on peut faire des trucs aussi nazes… Ils sont un peu concons chez FF…
En même temps c’était y a plus de deux ans ! Aucune idée si c’est toujours comme ça par contre…