用户加载页面时获取动态数据

问题描述 投票:0回答:1

我想知道一件事,因为我没有使用 React 或任何其他 JS 框架,只使用 vanilla JS,所以我注意到从 Firebase Storage 检索图像需要一秒钟的时间。您知道有什么解决方法可以避免影响用户体验吗?我有点认为这会对应用程序的整体速度和性能产生影响......而且我真的不想将整个项目转换为 React 或任何其他框架。如果它不容易集成。由于该项目目前规模庞大,可能需要几个月的时间才能完成转换。

javascript reactjs firebase storage
1个回答
0
投票

您可以使用一些策略来改善加载图像时的用户体验:

  1. 预加载:您可以预加载您知道很快就会需要的图像。这可以使用 JavaScript 中的
    Image
    对象来完成:
var img = new Image();
img.src = 'url-to-your-image';
  1. 延迟加载:仅加载视口中或视口附近的图像,并延迟加载其他图像,直到需要它们为止。这可以使用

    IntersectionObserver
    IntersectionObserver API 来完成。

  2. 占位符图像:首先显示小而低质量的图像或占位符,然后在加载后将其替换为实际图像。这种技术通常称为 LQIP(低质量图像占位符)。

  3. 缓存:如果图像不经常更改,您可以使用 Service Workers 将它们缓存在用户的浏览器中。这样,图像将在后续访问时立即加载。

  4. 压缩:压缩图像以减小文件大小。有许多在线工具可以做到这一点,而不会造成明显的质量损失。

  5. CDN:使用内容交付网络来提供图像。这可以显着减少加载时间,特别是对于远离服务器位置的用户。

请记住,最佳策略取决于您的具体用例和图像的性质。您可能需要结合使用这些技术才能获得最佳结果。

© www.soinside.com 2019 - 2024. All rights reserved.