安排图片与资源加载的核心思路是:先确认页面打开慢是否由图片或外部资源造成,再按“首屏优先、非首屏延后、能压缩就压缩、能少请求就少请求”的顺序处理,最后用浏览器开发者工具复查。下面按观察、判断、处理、复查四步说明。
打开浏览器的开发者工具,切到网络面板,刷新页面,重点看三列:请求数量、单个资源大小、加载耗时。如果图片请求数量很多、单张图片体积达到几百KB甚至更大,或者大量资源集中在页面打开瞬间同时请求,那么加载安排很可能有问题。此时先记录首屏出现的时间点,作为后续对比依据。
把页面资源分成三类,处理方式不同:
判断依据是用户打开页面时是否立刻需要看到它。如果一张图要滚动两屏才出现,就没有必要和首屏资源抢带宽。
按以下顺序逐项处理,每改一项就记录一次效果:
<img loading="lazy">,脚本方案则要确认滚动触发是否正常。假设一个页面首屏有一张大图、下方有二十张商品图,如果全部同时请求,首屏图片就要和其他请求争抢带宽。把下方二十张改为延迟加载后,首屏图片通常能更快显示。这个例子只说明资源竞争关系,实际效果取决于图片体积和网络条件。
回到开发者工具,重新刷新并对比修改前后的请求数量、总传输体积和首屏出现时间。检查项包括:首屏图片是否仍正常显示;滚动到下方时延迟加载的图片是否正常出现;关闭脚本后页面是否还能看到主要内容;手机上打开是否出现布局跳动。如果延迟加载的图片始终不显示,可能是触发条件写错或图片地址有误,需要回到网络面板看该请求是否发出、返回状态是否正常。
下一步建议选一个访问量较高的页面,按上面的观察方法记录当前数据,再只改图片压缩和首屏外延迟加载两项,复查对比后再决定是否继续调整脚本加载顺序。