浏览一些Chromium 源(见第 45 行),我发现:
in_script_tag: function(code) {
return "<script>" + code + "</scr" + "ipt>";
},
有谁知道作者为什么选择"</scr" + "ipt>"over "</script>"?
浏览一些Chromium 源(见第 45 行),我发现:
in_script_tag: function(code) {
return "<script>" + code + "</scr" + "ipt>";
},
有谁知道作者为什么选择"</scr" + "ipt>"over "</script>"?
在<script>标签内</script>结束它,无论它出现在哪里。
例子:
<script>
alert('</script>');
// anything here will not be executed anymore
</script>
原因很简单,浏览器对 JavaScript 字符串等一无所知,所以当它看到</script>它时总是关闭<script>标签。
因为每次 HTML 解析器看到</script,它都会自动认为 javascript 片段已完成。)