La principale raison de la séparation de tags est dû à un comportement intéressant dans SGML, le langage de balisage qui sous-tend HTML. Selon SGML, les blocs de script se terminent par n'importe quelle séquence "end-tag open" (ETAGO), y compris
Si le n'étaient pas divisés, cela mettrait fin prématurément au <script></script> bloc. Pour éviter cela, les développeurs doivent diviser la balise et placer le entre le < et /.
Compatibilité des navigateurs et considérations XHTML :
Diviser le La balise résout également les problèmes de compatibilité du navigateur. Alors que les navigateurs analysent généralement le HTML comme CDATA, traitant tout comme un délimiteur ouvert de balise de fin, ils ne terminent les blocs de script que sur un tag.
En XHTML, où les blocs de script ne sont pas traités spécialement, tous les blocs de script < les caractères doivent être échappés à l'aide de &. Cependant, cela peut prêter à confusion lorsque les navigateurs analysent XHTML en HTML. Fractionner le La balise garantit la compatibilité avec les deux types d'analyseurs.
Approches alternatives :
Lors du fractionnement Les balises dans document.write() sont une pratique courante, ce n'est pas la seule option. Une solution plus élégante consiste à encoder l'intégralité du