Здесь возможны две проблемы.
Прежде всего, у вас есть многострочный строковый литерал, который не поддерживается.Строковый литерал не может содержать разрыв строки.Если вы хотите разбить строку на отдельные строки, вам нужно завершить строку и начать новую строку на следующей строке и использовать оператор +
для их объединения.Пример:
var x = 'This is' +
' a long ' +
'string';
Другая вещь - это HTML-код внутри строки.Браузер не анализирует код Javsscript, когда определяет, что находится в теге script, поэтому, когда он встречает </script>
в строковом литерале, он будет считать, что это конец тега.
Если выИспользуя XHTML, вы можете добавить тег CDATA внутри тега script, чтобы сообщить браузеру, что разметки нет до тех пор, пока не закончится конец тега CDATA.Другой способ - убедиться, что внутри строки нет </script>
, что можно сделать, разбив строку в середине тега: </scr'+'ipt>
.