首页 > web前端 > js教程 > 为什么有些网站用 `document.write()` 分割 `` 和 `` 标签?

为什么有些网站用 `document.write()` 分割 `` 和 `` 标签?

Patricia Arquette
发布: 2024-12-12 12:53:12
原创
626 人浏览过

Why Do Some Websites Split `` and `` Tags with `document.write()`?

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>');
登录后复制
序列。或 & 字符在脚本中并创建脚本元素,如下所示:

此方法适用于 HTML5 和 XHTML 文档,确保交叉兼容性并避免浏览器混淆。

以上是为什么有些网站用 `document.write()` 分割 `` 和 `` 标签?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板