使用延迟加载来提高加载速度

Jeremy Wagner
Jeremy Wagner
Rachel Andrew
Rachel Andrew

其中 图片视频 网站的典型载荷可能相当可观 遗憾的是,项目相关方可能不愿意从他们现有的 应用。 这种僵局令人沮丧, 尤其是当所有相关方都希望提升网站性能时, 但又不知如何前往目的地 幸运的是,延迟加载是一种可减少初始网页载荷 但不会省略内容。

什么是延迟加载?

延迟加载是一种技术,可延迟加载网页中的非关键资源 加载时间。这些非关键资源会在 。涉及图片的情况为“非关键”通常等同于 “屏幕外”。如果您使用过 Lighthouse,并发现过一些优化机会, 您可能在这方面看到了一些指导, 推迟屏幕外图片审核

Lighthouse 中“推迟屏幕外图片”审核的屏幕截图。
Lighthouse 的性能审核之一是: 识别屏幕外的图片,这些图片可用于延迟加载。

您可能已经见过延迟加载的实际应用了, :

  • 您到达一个页面,并开始滚动阅读内容。
  • 在某个时间点,您将占位符图片滚动到视口中。
  • 占位符图片突然替换为最终图片。

您可以在热门发布平台上找到图片延迟加载的示例 :用于在以下位置加载轻量级占位图片: 并在用户滚动到这些图片时将其替换为延迟加载的图片 视口

Medium 网站屏幕截图中浏览中的网站,展示延迟加载的实际应用。左侧是模糊的占位符,右侧是加载的资源。
图片延迟加载实际应用示例。答 占位符图片在网页加载时(左侧)加载,以及滚动至 则最终图片会在需要时加载。

如果您不熟悉延迟加载,您可能想知道 具体技术是什么,以及有什么好处请阅读下文,一探究竟!

为什么要延迟加载图片或视频,而不是直接加载它们?

因为您可能会加载用户可能永远不会看到的内容。这是 可能的原因有以下几种:

  • 会浪费数据。在使用不按流量计费的网络时,这并不是 (虽然您可能会将这些宝贵的带宽用于 用户实际会看到的其他资源)。数据流量有限时 然而,加载用户永远不会查看的内容实际上是一种浪费 自己的钱财。
  • 这会浪费处理时间、电池电量和其他系统资源。媒体播放完毕后 浏览器必须将其解码,并以 视口

延迟加载图片和视频可缩短初始网页加载时间 页面��量和系统资源使用情况,所有这些都会对 性能

实现延迟加载

您可以通过多种方式实现延迟加载。 您在选择解决方案时必须考虑您支持的浏览器, 以及您尝试延迟加载的内容

现代浏览器实现了浏览器级延迟加载, 可以在图片和 iframe 上使用 loading 属性启用该功能。 为了与旧版浏览器兼容 或者在没有内置延迟加载的情况下对元素执行延迟加载 您可以使用自己的 JavaScript 实现解决方案。 有许多现有的库可以帮助您执行此操作。 如需详细了解所有这些方法,请参阅此网站上的帖子:

此外,我们还汇总了延迟加载的潜在问题列表, 以及在实现过程中需要注意的事项

总结

谨慎使用延迟加载图片和视频可以显著降低 加载时间和网页载荷,包括核心网页指标。用户不会产生不必要的网络 包括在慢速连接上出现网络争用,以及可能永远看不到、但 也可以根据需要查看这些资源

就性能改进方法而言,延迟加载是合理的, 无争议。如果您的网站包含大量内嵌图像, 减少不必要的下载的有效方式。您网站的用户和 项目利益相关方将不胜感激!