IE contre le Poney Rose
Des fois, je hais mon boulot et les absurdités qu'il me faut surmonter pour résoudre un problème... Autant je peux comprendre qu'un langage de programmation a ses contraintes, ses limites, même, autant je n'arrive pas à entraver que deux mêmes causes provoquent des effets différents.
Internet Explorer (quelle que soit la version que tu peux imaginer utiliser) fait partie de ces logiciels au comportement imprévisible, illogique, et il faut bien le dire, capable de venir à bout des quelques neurones (au masculin) restant au bout d'une journée d'effort pour que la baballe passe entre les poteaux.
J'ai passé récemment plus de deux heures à lutter de toutes mes forces contre une virgule récalcitrante en Javascript. Bon, il paraît que c'est un bug "connu" de Javascript. Sauf que je le connaissais pas. "nul n'est censé ignorer qu'il ne faut jamais laisser une virgule à la fin des arguments d'une fonction". Ah. Bon. Je le saurai la prochaine fois.
En revanche, il y a un truc absolument inimaginable qui m'a empoisonné l'existence, et qui montre à quel point le comportement d'Internet Explorer montre des signes alarmants de sadisme et ce qui a déclenché l'écriture de cet article, prêt à dénoncer le traitement humiliant et dégradant qu'induit une séance de débogage ; tant parce que IE affiche n'importe quoi sans raison apparente, et qu'en plus il n'existe pas d'outil vraiment efficace pour découvrir le pourquoi du comment et une éventuelle parade à cette imbécilité.
Je te propose tout d'abord d'aller voir cette page web.
Tu peux éventuellement observer le code HTML de cette page. Rien d'exceptionnel. Trois blocs de texte encadrés par des divs, et trois images, alignées à gauche grâce à la merveilleuse propriété CSS "float: left;". À l'écran, que du bonheur. Sur Firefox et sur Internet Explorer. Si si ! à l'écran, c'est exactement ce que je veux.
La petite subtilité vient du petit "div" qui n'a pour autre fonction que d'ajouter un saut de page entre les unités. Ce saut de page ne se voit évidemment pas à l'écran, en revanche, ce saut de page se voit parfaitement à l'impression. Je recommande bien entendu de ne pas imprimer cette page (remplie de "loremipsumeries"), ne serait-ce que pour sauver la planète de la déforestation. On peut tout à fait constater les sauts de page et tout le reste avec la fonction "aperçu avant impression".
Sous Firefox, rien à signaler. J'ai bien mes trois pages, et mes poneys roses sagement calés à gauche.
Mais sous IE :
POURQUOI POURQUOI POURQUOI ??????
Pourquoi cet abruti congénital ajoute une marge sur mon image A LA DEUXIÈME PAGE UNIQUEMENT ??? Pourquoi une marge ???? QUI EST-CE QUI LUI A DEMANDÉ DE METTRE UNE MARGE ???
Sachant qu'en sus, entre le premier bloc de texte et le suivant, IL N'Y A AUCUNE DIFFÉRENCE DE MARQUAGE ???
Mais pourquoi ?... oui... pourquoi ?... pourquoi seulement à l'impression ? pourquoi le comportement n'est pas identique à l'écran et sur le papier ? pourquoi y a-t-il une différence ?
Pourquoi IE ?.... (bon, ça, je sais, c'est parce que souvent, le client n'a pas autre chose et n'en démords pas ; on n'y peut pas grand chose).
Y'a des fois, même un antidépresseur puissant ne vient pas à bout de l'immense sensation de désespoir qui me noie.


19 Mars 2009 - 20:39, par Ploum
19 Mars 2009 - 23:36, par Rik
Pour ton salut, sache que seul IE7 a ce comportement, IE6 et IE8 fonctionnent très bien sur les machines que j'ai pu tester. Il s'avère qu'ils ont retravaillé beaucoup l'impression au moment de la sortie d'IE7 et quelques bugs ont pu s'y glisser. C'est malheureux mais c'est comme ça. Ce n'est pas aussi grave que le non respect volontaire des standards. Là c'est juste une boulette que tout soft peut avoir.
Pour la question des outils, IE8 incorpore des outils beaucoup plus intéressants qu'auparavant. Je n'ai pas encore la (malheureuse) occasion de les tester mais ça a vraiment l'air plus sympa qu'avant.
20 Mars 2009 - 02:14, par Christophe
Parce qu'un mec qui me pisse dessus, m'insulte et m'injurie, et me cogne au visage, s'il postillonne, je ne dirai pas "ah c'est pas grave, plein de gens postillonnent". Non. Je lui dirai plutôt :
FUCK YOU IE.
20 Mars 2009 - 09:04, par No'
ce qui me chagrine surtout, c'est pas tellement l'interprétation toute microsoftienne d'un standard... c'est le "mêmes causes, pas mêmes effets" qui me fait hurler. Parce que c'est incompréhensible. Et qu'on doit passer par de très vilains hacks - comme rajouter une classe CSS qui va artificiellement rajouter une marge négative sur un élément qui ne le nécessite que pour ce navigateur.
C'est inutilement nécessaire.
20 Mars 2009 - 09:14, par Prax
20 Mars 2009 - 09:20, par No'
La solution que tes collègues pourraient souffler, c'est une feuille spécifique à IE.
20 Mars 2009 - 09:31, par Prax
Autrement, il y a un blog reposant pour toi
http://beerpump.blogspot.com/
21 Mars 2009 - 11:49, par Pete