JavaScriptstring中的脚本标记
我遇到了一个问题,在JavaScript中带引号的string中有一个结束脚本标记,并且正在查杀脚本。 我认为这不是预期的行为。 这个例子可以在这里看到: http : //jsbin.com/oqepe/edit
我对testing用例的浏览器感兴趣:Mozilla / 5.0(X11; U; Linux i686; en-US; rv:1.9.1.4)Gecko / 20091028 Ubuntu / 9.10(karmic)Firefox / 3.5.4。
怎么了?
浏览器HTMLparsing器将在string中看到</script>
,并将它解释为脚本元素的结尾。
看看这个例子的语法着色:
<script> var test = 'foo... </script> bar.....'; </script>
请注意,单词栏被视为脚本元素之外的文本内容…
一个常用的技巧是使用连接运算符:
var test = '...... </scr'+'ipt>......';
您需要转义它,否则它将成为HTML的一部分。
var test = 'what the hell... \<\/script\> \<h1\>why?!?!?!\<\/h1\>';