Maison > interface Web > js tutoriel > Pourquoi certains sites Web divisent-ils les balises `` à l'aide de `document.write()` ?

Pourquoi certains sites Web divisent-ils les balises `` à l'aide de `document.write()` ?

Barbara Streisand
Libérer: 2024-12-25 19:04:10
original
757 Les gens l'ont consulté

Why Do Some Websites Split `` Tags Using `document.write()`?

Fractionnement <script> Balises dans document.write()</strong></p> <p>Fractionnement <script> et </script> balises utilisant document.write() est une technique utilisée par certains sites Web pour ajouter dynamiquement des scripts à une page Web.

Pourquoi le fractionnement est-il nécessaire ?

En HTML, < script> les balises contiennent du code JavaScript. Lorsque le navigateur rencontre un message <script> tag, il interprète le code qu’il contient et l’exécute. Cependant, si le <script> La balise est divisée en deux parties et écrite avec document.write(), elle empêche la fin prématurée du bloc de script.</p> <p><strong>Comportement du navigateur avec CDATA</strong></p> <p>En HTML, &lt ;script> les balises utilisent une section CDATA (Character Data) pour leur contenu. Les blocs CDATA sont censés se terminer lorsqu'ils rencontrent un délimiteur ouvert de balise de fin, tel que <. Cependant, les navigateurs ne terminent généralement les blocs de script CDATA que sur un fichier </script> close-tag.

Exemple

Par exemple, le code suivant d'Amazon démontre la technique :

<script type='text/javascript'>
  if (typeof window['jQuery'] == 'undefined') document.write('<scr' + 'ipt type="text/javascript" src="http://z-ecx.images-amazon.com/images/G/01/javascripts/lib/jquery/jquery-1.2.6.pack._V265113567_.js"></sc' + 'ript>');
</script>
Copier après la connexion

Approches alternatives

En XHTML, les scripts doivent être échappés pour éviter toute confusion. Une meilleure approche consiste à utiliser une séquence de caractères hexadécimaux pour écrire l'élément de script, comme indiqué ci-dessous :

<script type="text/javascript">
    document.write('\x3Cscript type="text/javascript" src="foo.js">\x3C/script>');
</script>
Copier après la connexion

En suivant ces directives, les développeurs peuvent intégrer efficacement des scripts dynamiques dans leurs pages Web tout en conservant la compatibilité avec les différents navigateurs et Normes HTML.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal