简介:
在 document.write() 中将 HTML 标签拆分为多个部分的做法让许多开发人员感到困惑。特别是,<script>的分割。标签对其用途提出了质疑。本文深入探讨了这种技术背后的原因,阐明了所涉及的挑战和注意事项。</p> <p><strong> 的挑战标签放置:</strong></p> <p>拆分的主要原因是标签是由 SGML 中的一个有趣行为引起的,SGML 是 HTML 的基础标记语言。根据 SGML,脚本块由任何“结束标记打开”(ETGO) 序列终止,包括 </。但是,此规则在 document.write() 调用中造成了问题。</p><p>如果 </script>标签没有被分割,它会提前结束封闭的 <script></script> 。堵塞。为了防止这种情况,开发人员必须拆分标签并将 放在 < 之间。
浏览器兼容性和 XHTML 注意事项:
拆分 和 /。标签还解决了浏览器兼容性问题。虽然浏览器通常将 HTML 解析为 CDATA,将任何 视为结束标记开放分隔符,但它们仅在实际的 上终止脚本块。
在 XHTML 中,脚本块没有被特殊处理,所有未转义的
字符必须使用 & 进行转义。然而,当浏览器将 XHTML 解析为 HTML 时,这可能会导致混乱。拆分 标签确保与两种类型的解析器的兼容性。替代方法:
同时拆分 ; document.write() 中的标签是一种常见的做法,它不是唯一的选择。一个更优雅的解决方案是对整个 <script> 进行编码。使用特殊字符的标签,例如:<pre class="brush:php;toolbar:false">document.write('\x3Cscript type="text/javascript" src="foo.js">\x3C/script>');<p>此方法适用于 HTML 和 XHTML 解析器,并且无需拆分标签。<🎜></script>以上是为什么要在 `document.write()` 调用中拆分 `` 标签?的详细内容。更多信息请关注PHP中文网其他相关文章!