Вопрос по html, string, javascript – Встроенный JavaScript с « <script>” string closes script tag by mistake

8

Я включаю большую JS-программу, которая включает в себя строку кода, такую как:

doc.write("<script>var app = \"" + _2d() + "\";</script>");

К сожалению, браузер (chrome) считает, что скрипт в строке является закрывающим тегом скрипта, и фактически принимает все после этого, как и его HTML-текст.

Как включить такую строку и избежать ее, чтобы она не смущала разбор HTML в браузере?

Возможный дубликатWhy split the <script> tag when writing it with document.write()? David Brossard
Я не знаю, поможет ли это, но попробую<\/script>. 0x499602D2
возможный дубликатWhy split the <script> tag when writing it with document.write()? Strelok

Ваш Ответ

2   ответа
22

<\/script> если хочешь поставить</script> в строке в JS, потому что</script> отмечает конец тега, где бы он ни отображался.

Это! Простое и элегантное решение.
3

Я решил это, разделив тег сценария какэтот ТАК вопрос рекомендует:

doc.write("<scr"+"ipt>var app = \"" + _2d() + "\";</scr"+"ipt>");
Не делай этого. Это немного менее эффективно и значительно более уродливо, чем решение Kolink. (И нет нужды разбивать стартовый тег)

Похожие вопросы