gpt4 book ai didi

javascript - 为什么字符串中包含 `<script>` 会导致 JS 语法错误?

转载 作者:行者123 更新时间:2023-11-28 18:52:40 25 4
gpt4 key购买 nike

考虑以下代码:

 var testVar = "<script>alert(\"a\")</script>@emaildomain.con";

在 FF 的控制台中,我收到错误

SyntaxError: unterminated string literal.

但是,如果您更改 scriptxscript ,没有错误:

 var testVar = "<xscript>alert(\"a\")</xscript>@emaildomain.con";

正确的逃生方法是什么script JS 中的标签,为什么将它们包含在字符串文字中会导致这种行为?

最佳答案

</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>

关于javascript - 为什么字符串中包含 `&lt;script&gt;` 会导致 JS 语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34233520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com