为什么 script 标签不能写成自关闭形式
这篇讲的是很多前端开发者都可能在代码审查中遇到的疑问:为什么 `` 这种简洁的自关闭写法虽然在现代浏览器里不报错,却始终不被推荐,甚至可能埋下隐患。 文章从 HTML5 的容错解析机制入手,对比了其与 XHTML 严格解析模式的根本差异。核心在于,浏览器在遇到 `` 时,为了向后兼容,不会将其视为一个完整的自闭合标签,而是会继续在文档后续内容中寻找一个配对的 `` 结束标签。这个看似微小的解析行为差异,可能导致脚本内容被意外“吞掉”而不执行,或是引发后续页面结构解析的连锁错误。 作者通过具体的解析流程分析,将规范要求背后的技术原理讲得很透彻。它不仅仅是在说“不要这么写”,更解释了“为什么不能这么写”,帮助读者建立起对 HTML 解析模型的深层理解,从而在编码时能做出更规范、更稳健的选择。