Тег Script в строке Java Script
Я столкнулся с проблемой, в которой тег script заканчивается в кавычной строке в JavaScript, и он убивает script. Я предполагаю, что это не ожидаемое поведение. Пример этого можно увидеть здесь: http://jsbin.com/oqepe/edit
Мой браузер для тестовых случаев для заинтересованных: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: 1.9.1.4) Gecko/20091028 Ubuntu/9.10 (кармический) Firefox/3.5.4.
Ответы
Ответ 1
Что происходит?
HTML-парсер браузера увидит </script>
внутри строки, и он будет интерпретировать его как конец элемента script.
Посмотрите на синтаксическую окраску этого примера:
<script>
var test = 'foo... </script> bar.....';
</script>
Обратите внимание, что панель слов обрабатывается как текстовое содержимое вне элемента script...
Обычно используемым методом является использование оператора конкатенации:
var test = '...... </scr'+'ipt>......';
Ответ 2
Вам нужно сбежать от него, иначе он будет частью HTML.
var test = 'what the hell... \<\/script\> \<h1\>why?!?!?!\<\/h1\>';