可能重复:
Why split the <script> tag when writing it with document.write()?
浏览一些Chromium source(见第45ff行),我发现:
in_script_tag: function(code) {
return "<script>" + code + "</scr" + "ipt>";
},
有谁知道作者为何选择"</scr" + "ipt>"
而不是"</script>"
?
答案 0 :(得分:8)
在<script>
标记内</script>
结束它,无论它发生在何处。
示例:强>
<script>
alert('</script>');
// anything here will not be executed anymore
</script>
原因很简单,浏览器对JavaScript字符串等一无所知。所以当它看到</script>
时,它总是关闭<script>
标记。
答案 1 :(得分:1)
因为每次HTML解析器看到</script
时,它都会自动认为javascript片段已完成。 )