Balise de script dans une chaîne JavaScript : un piège courant
De nombreux développeurs rencontrent un comportement inattendu en JavaScript lorsqu'une balise de script de fermeture " script>" apparaît dans une chaîne entre guillemets. Cela peut entraîner l'arrêt prématuré du script.
Le nœud du problème réside dans l'analyseur HTML du navigateur. Lorsqu'il rencontre la balise de script de fermeture à l'intérieur de la chaîne, il l'interprète à tort comme la fin de l'élément de script.
Considérez l'exemple de couleur syntaxique suivant :
<code class="js"><script> var test = 'foo... </script> bar.....'; </script></code>
Remarquez comment "bar" est traité comme du contenu textuel en dehors de l'élément de script, provoquant la fin abrupte du script.
Pour résoudre ce problème, il est courant d'utiliser la concaténation de chaînes, comme indiqué ci-dessous :
<code class="js">var test = '...... </scr' + 'ipt>......';</code>
Par en divisant la balise de script de fermeture en ses composants, le navigateur analyse correctement la chaîne sans la confondre avec la fin de l'élément de script. Cela garantit que le script continue de s'exécuter comme prévu.
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!