昭通网站开发中安排图片与资源加载,时间人手有限时先做一件事:把首屏必须出现的图片和脚本找出来,压缩、改格式、延后非首屏资源。顺序错了,后面再优化也白费。下面是一份可执行清单,按顺序做,每项都说明查什么、怎么查、结果说明什么。
要查的是首屏内面积最大的那张图,通常是横幅或产品主图。用浏览器开发者工具的“网络”面板,勾选“禁用缓存”后刷新页面,按大小排序,看排在最前面的图片文件有多大。
background-image。适用条件:页面首屏有大幅视觉图时优先做这项。若首屏以文字为主,直接跳到第二步。
要查的是放在 <head> 里、没有加 defer 或 async 的脚本,以及体积过大的样式文件。在开发者工具“性能”面板录制一次页面加载,看主线程上有没有长时间执行的脚本。
defer 或移到 </body> 前。结果说明:主线程被脚本占用越久,首屏出现越晚。先把不影响首屏显示的脚本延后,是最省力的改法。
要查的是图片文件尺寸和它在页面上实际显示的尺寸是否一致。在开发者工具里选中图片元素,看渲染尺寸,再对比原图分辨率。
width 和 height 可减少抖动。适用条件:图片数量多、列表页长的站点收益最明显。图片很少的页面可略过。
要查的是首屏之外的图片、视频、评论区、地图等资源。滚动到页面下方,看这些资源是否在页面一打开就全部请求了。
结果说明:初始请求数越少,首屏越快。懒加载不影响首屏内容,是低风险改动。
时间和人手有限时,按下面顺序执行,做完一项再进入下一项:
defer 或移到页面底部。判断标准:首屏内容在 2 秒内可见、初始请求数明显下降,就说明安排合理。若某项改动后没有变化,先确认缓存是否已禁用,再检查是否改到了正确的文件。
下一步:打开开发者工具的网络面板,禁用缓存后刷新一次首页,把排在前五位的资源记下来,从最大的那张图开始处理。