在主题早期开发阶段,由于当时浏览器对图片延迟加载等功能的支持较为有限,咱们的WordPress主题采用的是 JavaScript LazyLoad 的方式实现图片延迟加载,并在此基础上实现 WebP 图片兼容检测与加载 。
随着近几年浏览器能力的持续提升,主流浏览器已经普遍原生支持图片延迟加载。因此,在近期的JustNews主题和Module主题最新版更新中我们对图片加载机制进行了优化升级(其他主题后续更新陆续支持),在保留旧方案兼容性的同时,新增支持 浏览器原生实现方案,切换方式:主题设置-优化加速-图片延迟加载。

一、图片延迟加载机制升级
旧版本主题使用 JS LazyLoad 实现图片延迟加载,其原理是通过 JavaScript 监听页面滚动,当图片进入可视区域时再替换为真实图片地址进行加载。
新版本则支持使用浏览器原生能力,在图片标签中加入以下属性:
loading="lazy"decoding="async"
其中:
loading="lazy":由浏览器自动控制图片延迟加载decoding="async":允许浏览器异步解码图片,减少页面渲染阻塞,这也符合Google PageSpeed等性能优化工具建议的减少渲染阻塞资源的优化方向。
相比 JS 实现,浏览器原生实现方案具有以下优势:
- 减少前端 JavaScript 依赖
- 降低页面脚本执行开销
- 提升页面渲染性能
- 利用浏览器自身优化策略
- 更符合 Google PageSpeed / Lighthouse 的性能优化建议
- 不再需要为搜索引擎额外输出
noscript图片代码,页面结构更加简洁
二、WebP 图片加载机制调整
旧版本主题中的 WebP 功能依赖 JS LazyLoad 实现:
- 图片准备加载时
- JS 判断浏览器是否支持 WebP
- 如果支持,则自动在 lazyload 图片替换环节使用
webp格式图片地址
在启用 浏览器原生实现 的情况下,新版本将 WebP 判断逻辑调整为:
- 默认认为浏览器具备现代图片格式支持能力
- 在服务器端直接将图片地址替换为 WebP 格式
- 浏览器直接加载 WebP 图片
这种方式减少了前端判断逻辑,使图片加载流程更加简单高效。
三、两种模式可选
同时为了保证使用旧版本主题网站的兼容性,本次更新保留了原有 JS 实现方式,并提供两种模式可选。
后台路径:主题设置-优化加速-图片延迟加载,可选择浏览器原生实现或者JS实现,需要注意:浏览器原生延迟加载目前不支持设置 LazyLoad 替代图功能,如果需要使用占位图效果,请继续使用 JS 方式。
考虑到当前主流浏览器已全面支持原生图片延迟加载,还是建议大家在更新主题后 切换至浏览器原生实现方案,以获得更好的性能表现和更简洁的页面结构。
JS实现方案将作为 过渡兼容方案继续保留,以满足部分需要占位图或特殊兼容需求的网站使用,不过后续可能随时会有下线的可能。