【发布时间】:2014-04-13 11:07:17
【问题描述】:
我有一个包含以下代码的页面:
<script>
window.str = '<script></script>';
</script>
这会导致错误:
Uncaught SyntaxError: Unexpected token ILLEGAL
发生了什么事?在控制台中输入相同的代码运行没有问题。 Here is a jsbin demonstrating the issue
【问题讨论】:
-
字符串中的
</script>标记关闭了第一个<script>标记,留下无效的JavaScript。 HTML 不知道 JavaScript,它只看到结束标记。它可以在控制台中运行,因为代码不在 HTML 上下文中。 -
哦,很高兴找到@FelixKling 就是这样。哇,我想我几个月甚至几年都没有学到关于 javascript 的新知识。
-
:) 我会说,这更像是一个 HTML 问题而不是 JS 问题,但学习新东西真是太好了 :)
-
是的,我会保留它并投票结束 - 我问的方式与欺骗 OP 不同。
标签: javascript string