gpt4 book ai didi

javascript - "Unterminated template literal"文字包含脚本标签时出现语法错误

转载 作者:技术小花猫 更新时间:2023-10-29 11:54:01 27 4
gpt4 key购买 nike

<分区>

我正在使用 ES6 模板文字在字符串中构造一些 HTML,到目前为止它一直运行良好。但是,一旦我尝试输入文字 </script>在我的字符串中,浏览器抛出并抛出语法错误:

SyntaxError: Unterminated template literal

这是一个抛出错误的简单 JavaScript 示例:

var str=`
<script>
</script>
`
var pre = document.createElement('pre')
pre.textContent = str
document.body.appendChild(pre)

以上代码见JS Fiddle .

看起来正在发生的事情是它放弃寻找结束文字引号,而是开始将点处的所有内容都视为文字 HTML,因此该点之后的所有 JavaScript 都被错误地视为 HTML,但事实并非如此!

如果我替换 script通过 任何 其他合法的 HTML 标签(甚至无效标签,如 scripty )然后它工作得很好,所以我看不出这怎么可能是语法错误或我认为的奇怪情况我输入了一个字符(例如反引号),但输入了另一个看起来很像的字符。

我实际上是在创建一个字符串(据我所知,在编译时),浏览器应该试图将它视为 HTML 或以任何方式解析它。那么是什么给了?

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