Document.write() 和脚本标签拆分:为什么这样做
使用 document.write() 方法创建脚本时标签,您可能会注意到某些网站将 <script> 与 <script> 分开。和 </脚本>跨多个调用的标签。采用此技术有一个特定的原因:避免脚本块过早终止。</script>
浏览器通常使用 SGML 规则解析 HTML。根据 SGML,脚本块应以任何结束标记开放 (ETGO) 序列结束,例如
因此,包括完整的 <script>和 </脚本>单个 document.write() 调用中的标签将导致浏览器在标签本身内遇到 </script>序列时过早结束脚本块。
为了防止此问题,拆分标签可确保浏览器正确解释并执行脚本。分割可以在 时才允许脚本块正确终止。
使用这种分割技术的更好替代方法是转义任何
document.write('\x3Cscript type="text/javascript" src="foo.js">\x3C/script>');
以上是为什么有些网站用 `document.write()` 分割 `` 和 `` 标签?的详细内容。更多信息请关注PHP中文网其他相关文章!