2009 juil. 9
Les petits secrets de nos navigateurs: Partie 5
05:54 - Par denis - Tech'it izzy - Lien permanent
Se réveiller après la bataille
Le secret numéro 1 a déjà révélé un comportement étrange après l'événement onload
. Le secret numéro 5 n'en est pas moins étonnant. Plantons le décors.
L'histoire se passe après l'événement onload
, et c'est l'histoire d'un tag SCRIPT
généré et inséré au DOM. L'histoire raconte que le script contenu dans le tag SCRIPT
en question n'est pas automatiquement exécuté comme on pourrait s'y attendre.
Regardons de plus près un exemple avec le test 5, pour simplifier il peut se découper en trois étapes:
- Appel d'une méthode pour mettre un fond rouge
- L'événement
onload
appel une méthode - La méthode construit un tag
SCRIPT
qui contient la même méthode que le point 1 mais avec un fond vert
Le test contient deux façons différentes de construire le tag SCRIPT
, à gauche en écrivant littéralement le tag dans la propriété innerHTML
d'un tag DIV
et à droite en utilisant la méthode createElement
. Pour résumer, si le carré est vert c'est que le tag SCRIPT
a été exécuté, s'il reste rouge c'est qu'il ne l'a pas été.
Et là, que peut-on voir de nos petits yeux, encore embrumés d'une telle découverte, que les résultats sont pour le moins inconstant (voir le récapitulatif BrowserShots sur l'image ci-dessus). Certains navigateurs font très bien leur boulot et obtiennent les deux carrés verts, pendant que d'autres n'en ont qu'un seul voir pas du tout. On peut noter, pour ce secret, une nette différence (ils sont opposés) entre les deux gros concurrents leader du marché, Firefox et Internet Exporer.
Maintenant, quant à expliquer le phénomène, je me contenterais de faire comme pour les autres secrets, c'est à dire de seulement le constater.