我怀疑最后一个选项,但可能是前两个选项中的一个。谁能告诉我哪个?
我在屏幕截图中收到错误。
<html>
<head>
<script type="text/javascript">
var html = "<script></script>";
</script>
</head>
<body>
</body>
</html>
答案 0 :(得分:5)
这是每个浏览器中的问题,脚本块在第一个字符串</script>
处终止,因此如果该字符串出现在您的代码中的任何位置,则会导致脚本块的提前终止。
如果您想将此作为JS中的变量,请使用:
var html = unescape("%3Cscript%3E%3C/script%3E");
答案 1 :(得分:2)
您还可以使用\来正确渲染该字符:
var html = "<script><\/script>";
答案 2 :(得分:1)
这不是错误。这是脚本标记的正确行为,您所做的相当于不转义字符串中的引用。
var string = 'My mother's awesome.';
解决问题的一种简单方法是拆分</script>
标记,如下所示:
var html = "<script></"+"script>";