安排图片与资源加载,核心不是“压缩一下图片”这么简单,而是先确定页面最终要交付什么效果,再倒推需要哪些素材、由谁处理、按什么标准验收。对第一次接触这个问题的人来说,起点是列出页面上所有图片、字体、脚本、样式文件;下一步是给它们排优先级,决定哪些首屏必须立刻出现,哪些可以延后。判断是否安排合理,看两个结果:首屏主要内容能否尽快可见,以及用户滚动时图片是否突然跳动或长时间空白。
从结果倒推,图片与资源加载至少要满足三个交付目标。第一,首屏关键图片和必要样式优先到达,用户打开页面后能较快看到主体内容,而不是先看到大片空白。第二,图片位置提前预留尺寸,加载完成后不发生明显位移,避免用户刚想点击却被移动的按钮带偏。第三,首屏之外的图片、非关键脚本和装饰性资源延后加载,把带宽留给当前真正需要的内容。
这三个目标对应不同的验收项:首屏主体是否可见、布局是否稳定、滚动时图片是否按需出现。它们比“总资源体积小”更接近真实体验,因为一个体积不大但加载顺序混乱的页面,仍然可能让用户等待很久。
资源加载安排不好,常见原因不是技术不会,而是资料本身没准备好。可以从页面结构倒推一份清单:
这份清单的适用条件是:页面已经确定基本结构和内容范围。如果结构还在频繁变动,先不要批量处理图片,否则尺寸和用途一变,返工成本很高。
资源可以按“是否影响首屏理解和操作”分成三档。第一档是首屏主图、品牌标识、关键样式和必要字体,应优先加载。第二档是首屏下方不远处的内容图,可以在首屏资源之后加载。第三档是页脚图片、装饰图标、非必要脚本和统计类资源,适合延后或按需加载。
一个可执行的判断方法是:把页面缩到手机屏幕大小,问自己“用户不滚动时最需要看到什么”。如果某张图不影响理解,也不影响点击,就不应该和首屏主图抢带宽。对于长页面,可以使用原生懒加载,让图片进入视口附近再请求。示例写法如下:
<img src="example.jpg" loading="lazy" width="800" height="450" alt="示例图片">
这里的 width 和 height 用于提前占位,减少布局跳动;loading="lazy" 表示延后加载。需要注意,首屏主图通常不适合懒加载,否则可能反而延迟可见时间。是否使用懒加载,取决于图片是否在首屏、是否影响主要内容呈现。
安排完成后,不要只看“页面能打开”。可以按下面三项检查:
这些检查不依赖特定平台或工具,用浏览器开发者工具的“网络”面板即可观察资源请求顺序和大小。判断结果时,重点看顺序和体验,不必追求所有资源都最小。
如果这是第一次处理,建议先选一个代表性页面,按“列出资源—标注用途—分优先级—加尺寸占位—开启按需加载—验收”的顺序做一遍。内容编辑负责确认图片用途和首屏范围,设计或前端负责输出合适尺寸并实现加载方式,发布前由验收人按首屏、布局稳定、按需加载三项检查。下一步就是打开这个页面的开发者工具网络面板,记录首屏加载了哪些图片和资源,再决定哪些该提前、哪些该延后。