带有"<script>"字符串的内联javascript错误地关闭了脚本标记

Rob*_*cks 8 html javascript string

我正在编写一个大型JS程序,其中包含一行代码,如:

doc.write("<script>var app = \"" + _2d() + "\";</script>");
Run Code Online (Sandbox Code Playgroud)

不幸的是,浏览器(chrome)认为字符串中的脚本是结束脚本标记,并且实际上将其后的所有内容都视为HTML文本.

如何包含这样的字符串并将其转义,以免混淆浏览器HTML解析?

Nie*_*sol 22

<\/script>如果你想</script>在JS中放入一个字符串,你应该总是使用它,因为</script>标记标记的结尾无论它出现在何处.


Rob*_*cks 3

我通过像这样的问题建议拆分脚本标签来解决它:

doc.write("<scr"+"ipt>var app = \"" + _2d() + "\";</scr"+"ipt>");
Run Code Online (Sandbox Code Playgroud)