我正在推出一个大型JS程序,其中包含一行代码,如:
doc.write("<script>var app = \"" + _2d() + "\";</script>");
不幸的是,浏览器(chrome)认为字符串中的脚本是结束脚本标记,并且实际上将其后的所有内容都视为HTML文本。
如何包含这样的字符串并将其转义,以免混淆浏览器HTML解析?
答案 0 :(得分:22)
如果要将<\/script>
放在JS中的字符串中,则应始终使用</script>
,因为</script>
标记了标记的结尾,无论它出现在何处。
答案 1 :(得分:3)
我通过拆分像this SO question推荐的脚本标记来解决它:
doc.write("<scr"+"ipt>var app = \"" + _2d() + "\";</scr"+"ipt>");