字符串“”在IE中导致错误

时间:2009-09-25 20:56:11

标签: javascript html

如果我将这段html添加到我的页面:

<script type="text/javascript">
 var s = '</script>'
</script>

IE 7.0显示语法错误(左下角的感叹号):“未终止的字符串常量”

如果我只更改一个字母(任何一个),则错误消失 - 看起来IE不喜欢这个特定的单词,包括括号。

任何想法为什么?

谢谢你, 安德烈

5 个答案:

答案 0 :(得分:8)

这对我有用

var a = "<\/script>"

答案 1 :(得分:6)

任何浏览器都会发生这种情况。 HTML解析器不知道您尝试使用的脚本语言的详细信息,因此<script>标记将在</script>的第一次出现时终止,无论上下文如何。然后JS解析器会抱怨字符串没有终止,因为关闭的撇号不在脚本块中。

如果您想在脚本中使用该scring,则需要使用类似'<\/script>'的内容。

答案 2 :(得分:3)

要使用/字符,您需要先用\作为前缀。

这样可行:

<script type="text/javascript"> var s = '<\/script>'; alert( s);</script>

答案 3 :(得分:1)

我见过这个......

var s = '</scr' + 'ipt>'

那说,它散发出一点代码味道。我不确定它是否合适。 :)

答案 4 :(得分:0)

我见过这个:

var s = unescape("%3C/script%3E")

闻起来也很糟糕。