Javascript:脚本标记的有趣字符串连接

时间:2012-06-17 10:47:08

标签: javascript chromium

  

可能重复:
  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>"

2 个答案:

答案 0 :(得分:8)

<script>标记内</script>结束它,无论它发生在何处。

示例:

<script>
alert('</script>');
// anything here will not be executed anymore
</script>

原因很简单,浏览器对JavaScript字符串等一无所知。所以当它看到</script>时,它总是关闭<script>标记。

答案 1 :(得分:1)

因为每次HTML解析器看到</script时,它都会自动认为javascript片段已完成。 )