Это не глюк - это нормальное ожидаемое поведение, и это вполне справедливо, если подумать.Спецификации HTML не определяют языки сценариев, поэтому движок должен видеть простой текст вплоть до </script>
, который закрывает тег.Есть несколько опций, отличных от уже описанных:
// escape the / character, changing the format of the "closing" tag
var data = "<\/script>";
// break up the string
var data = "</"+"script>";
Первый метод работает, потому что HTML не использует \
для экранирования, он рассматривается как буквальный символ и, конечно, <\/script>
не является допустимым закрывающим тегом.Второй работает по более очевидным причинам, но кто-то здесь сказал мне, что его не следует использовать (и я так и не понял, почему).