BrowserShot printscreen

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:

  1. Appel d'une méthode pour mettre un fond rouge
  2. L'événement onload appel une méthode
  3. 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.