je pense que tu dois reviser tes connaissances DOM.
Un element script qui indique un fichier js par un attribut src, ne va pas du tout enrichir ton DOM.
<script src="truc.js"></script>
<script></script>
et
<script src="truc.js" />
sont strictement équivalent d'un point de vue DOM. Le fait d'avoir un attribut src ne rajoute nullement un quelconque noeud DOM en tant que fils de l'element DOM script (ça n'aurait aucun sens tant d'un point de vue SGML que XML). Un attribut n'est pas un noeud DOM fils sur un noeud element.
Et le problème donc, c'est que pour IE, avoir la balise script auto fermante est invalide. Alors qu'en XML (donc XHTML), c'est tout à fait valide. Et c'est invalide pour IE parce qu'il utilise un espèce de parser tout pourri qui est à moitié SGML, à moitié XML....
[^] # Re: Un joli amas de conneries
Posté par Laurent J (site web personnel, Mastodon) . En réponse au journal if (microsoft()) {kludge;}. Évalué à 4.
Un element script qui indique un fichier js par un attribut src, ne va pas du tout enrichir ton DOM.
<script src="truc.js"></script>
<script></script>
et
<script src="truc.js" />
sont strictement équivalent d'un point de vue DOM. Le fait d'avoir un attribut src ne rajoute nullement un quelconque noeud DOM en tant que fils de l'element DOM script (ça n'aurait aucun sens tant d'un point de vue SGML que XML). Un attribut n'est pas un noeud DOM fils sur un noeud element.
Et le problème donc, c'est que pour IE, avoir la balise script auto fermante est invalide. Alors qu'en XML (donc XHTML), c'est tout à fait valide. Et c'est invalide pour IE parce qu'il utilise un espèce de parser tout pourri qui est à moitié SGML, à moitié XML....