前端杂谈 · Web

前端性能优化 预加载

•̀.̫•́✧ · 5月1日 · 2020年本文457字 · 阅读2分钟113

预加载可能看起来和延迟加载是相反的,但它其实有不同的目标。通过预加载组件可以充分利用浏览器空闲的时间来请求将来会用到的组件(图片,样式和脚本)。用户访问下一页的时候,大部分组件都已经在缓存里了,所以在用户看来页面会加载得更快。

实际应用中有以下几种预加载的类型:

  • 无条件预加载 —— 尽快开始加载,获取一些额外的组件。google.com 就是一个 sprite 图片预加载的好例子,这个 sprite 图片并不是 google.com 主页需要的,而是搜索结果页面上的内容。
  • 条件性预加载 —— 根据用户操作猜测用户将要跳转到哪里并据此预加载。在 search.yahoo.com 的输入框里键入内容后,可以看到那些额外组件是怎样请求加载的。
  • 提前预加载 —— 在推出新设计之前预加载。经常在重新设计之后会听到:“这个新网站不错,但比以前更慢了”,一部分原因是用户访问先前的页面都是有旧缓存的,但新的却是一种空缓存状态下的体验。可以通过在将要推出新设计之前预加载一些组件来减轻这种负面影响,老站可以利用浏览器空闲的时间来请求那些新站需要的图片和脚本。
0 条回应