图片与资源加载的安排,核心不是“把图片压得越小越好”,而是让首屏需要的资源优先到达、非首屏资源延后,并让浏览器尽早知道关键资源的地址。很多人第一次建站时会把所有图片一次性加载,结果首屏迟迟不出现;正确做法是先区分关键资源与非关键资源,再分别设置加载时机。
延迟加载只适合不在首屏、用户需要滚动或点击后才看到的图片。如果把首屏主图、Logo、商品主图也设为延迟加载,浏览器要等脚本执行后才去请求图片,首屏反而更慢。判断标准很简单:打开页面时不滚动、不点击就能看到的图片,属于关键资源,应正常加载;需要滚动一段距离才出现的图片,才适合延迟加载。
打开浏览器开发者工具的“网络”面板,刷新页面,按资源大小排序,观察前几屏内容出现前后分别加载了什么。如果首屏图片出现在很靠后的请求里,说明加载顺序需要调整;如果某张图片的实际显示尺寸远小于文件尺寸,说明图片规格需要重做。这个检查不依赖特定平台,任何网站都可以执行。
照片类图片优先考虑压缩率较好的格式,图标和简单图形可用矢量格式。假设一张图片在页面上显示为 600 像素宽,就不要准备 2000 像素宽的源文件再缩放显示,这是最常见的浪费来源。判断结果看两点:文件大小是否与显示尺寸匹配,以及放大后是否明显模糊。两者都满足,才算安排合理。
浏览器解析页面的顺序会影响资源请求时机。把关键图片直接写在页面结构里,比等脚本运行后再插入图片更早触发请求。需要动态插入的图片,至少让浏览器提前知道资源地址,例如通过预加载提示,但不要对所有图片都做预加载,否则会挤占首屏带宽。
下一步,选一个已上线的页面,用开发者工具记录一次完整加载过程,标出首屏图片和非首屏图片,再按上面的规则调整其中一项,观察首屏内容出现时间是否变化。每次只改一类资源,便于判断调整是否有效。