Ответ 1
Что вы можете отключить, это </script>
. Парсер HTML не распознает строки Javascript или вложенные теги <script>
, поэтому он интерпретирует это как закрывающий тег для начального <script>
. То есть эта часть документа анализируется как:
<script> (open tag)
alert("<script> (text node - contents of the script)
</script> (close tag)
"); (text node - plain text)
Второй </script>
игнорируется, так как нет другого тега <script>
для его закрытия.
Чтобы обойти это, раскройте </script
, чтобы анализатор HTML не видел его. Например:
alert("<script><\/script>");
или
alert("<script><" + "/script>");
или просто поместите код во внешний файл Javascript. Эта проблема возникает только для встроенных скриптов.