WordPress 6.9 全面清理遗留代码,彻底告别 Internet Explorer
自 2021 年 7 月发布的 WordPress 5.8 起,所有版本的 Internet Explorer 就已不再受支持。WordPress 6.9 则更进一步,移除了所有仅用于支持 IE 浏览器的兼容代码,持续推动代码库的现代化。
1. 移除对 IE 条件注释的支持
IE 条件注释是一种为特定版本的 IE 浏览器传递脚本和样式的机制,以下代码会为 IE7 及以下版本加载特定样式:
<!--[if lte IE 7]>
<link rel="stylesheet" href="/ie7.css" media="screen" type="text/css" />
<![endif]-->
然而自 2013 年发布的 IE10 起,微软已不再支持条件注释,这使得 IE9 成为支持条件注释的最后一个版本,而目前 IE9 的全球使用率基本上是 0。WordPress 自身也从 4.8 版本开始停止对 IE9 的支持。目前,所有现代浏览器都会忽略条件注释内的代码,视其为普通注释。
因此,在 WordPress 6.9 中:
- 条件注释功能被完全移除。
- 任何使用
conditional参数加载的样式或脚本都将被忽略,其依赖项若未被其他资源引用,也将被忽略。 - 如果将
WP_DEBUG设置为true,使用conditional参数会触发一条弃用通知,提示“IE 条件注释已被所有支持的浏览器忽略”。
2. 更新默认主题,移除 IE 特定代码
此次清理也涵盖了所有内置的默认主题,这些主题中所有使用条件注释的代码已被移除,同时一些仅用于修复 IE 显示问题的 CSS 语法 hack 也被清理。
出于历史记录目的,一些原本通过条件注释加载的 CSS 和 JS 文件仍被保留,但它们现在已是空白文件,仅包含注释说明其相关支持已于何时移除。
3. 其他兼容性代码移除
除了条件注释,媒体播放器实例化过程中使用的兼容性脚本也已被移除。
此外,对 Twenty Thirteen 到 Twenty Sixteen 这几个旧版默认主题中的 Genericons 字体包样式表进行了更新,移除了其中针对 IE 的 CSS hack 和 EOT 字体文件规则。
总结
WordPress 6.9 的这次清理,移除了技术上早已无效的代码包袱,简化了核心代码,提升了可维护性。对于绝大多数用户和开发者而言,这不会有任何影响,因为相关浏览器早已淘汰,这标志着 WordPress 在紧跟现代 Web 标准的道路上又迈出了坚实的一步。
