javascript - Question sur la sortie </script> dans la balise <script>
ringa_lee
ringa_lee 2017-06-14 10:52:30
0
3
933

Description du problème :

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <script>
    console.log("</script>");
  </script>
</body>
</html>

Impossible de sortir, erreur : Uncaught SyntaxError: Invalid or unexpected token.

Est-ce un BUG du navigateur ?

ringa_lee
ringa_lee

ringa_lee

répondre à tous(3)
Ty80

Sur la base de l'analyse avec le navigateur, vous pouvez probablement comprendre, car ce que vous souhaitez consoler est la balise de fin d'un script. Lorsque le navigateur analyse la balise html, il l'utilise directement comme balise de fin. verra la page Seul "); est affiché ci-dessus, le reste était à l'origine la véritable balise de fermeture et a été traité comme redondant.

Il existe des situations similaires

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <script>
      //</script>
  </script>
</body>
</html>

Du point de vue de l'analyse des balises, le navigateur : "Je n'en assumerai pas la responsabilité."

Si vous souhaitez l'afficher normalement, vous pouvez ajouter l'échappement

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <script>
    console.log("<\/script>");
  </script>
</body>
</html>
漂亮男人

L'analyseur HTML dans le noyau du navigateur est une méthode de traitement de « machine à états »
Principe d'analyse HTML

;
伊谢尔伦

Google peut produire des résultats

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal