考虑以下代码:



var testVar =“< script>警报(\ “一\”)< /脚本> @ emaildomain.con“; 代码>
&#的xD;
 在FF控制台上,我收到错误


& #xA;

SyntaxError:unterminated string literal。


但是,如果将 script
更改为 xscript
,没有错误:
var testVar =“< xscript>警报(\ “一\”)< / xscript> @ emaildomain.con“; 代码>
&#的xD;
 在JS中转义 script
标记的正确方法是什么,为什么包含它们字符串文字导致此行为?
答案 0 :(得分:3)
</script>
部分实际上关闭了起始标记。
<script type="text/javascript">
var testVar = "<script>alert(\"a\")</script>@emaildomain.con";
</script>
所以,你的脚本将是:
<script type="text/javascript">
var testVar = "<script>alert(\"a\")
</script>
@emaildomain.con";</script>
要解决此问题,您可以这样做:
<script type="text/javascript">
var testVar = "<script>alert(\"a\")</" + "script>@emaildomain.con";
</script>