我想知道一件事,因为我没有使用 React 或任何其他 JS 框架,只使用 vanilla JS,所以我注意到从 Firebase Storage 检索图像需要一秒钟的时间。您知道有什么解决方法可以避免影响用户体验吗?我有点认为这会对应用程序的整体速度和性能产生影响......而且我真的不想将整个项目转换为 React 或任何其他框架。如果它不容易集成。由于该项目目前规模庞大,可能需要几个月的时间才能完成转换。
您可以使用一些策略来改善加载图像时的用户体验:
Image
对象来完成:var img = new Image();
img.src = 'url-to-your-image';
延迟加载:仅加载视口中或视口附近的图像,并延迟加载其他图像,直到需要它们为止。这可以使用
IntersectionObserver
IntersectionObserver API 来完成。
占位符图像:首先显示小而低质量的图像或占位符,然后在加载后将其替换为实际图像。这种技术通常称为 LQIP(低质量图像占位符)。
缓存:如果图像不经常更改,您可以使用 Service Workers 将它们缓存在用户的浏览器中。这样,图像将在后续访问时立即加载。
压缩:压缩图像以减小文件大小。有许多在线工具可以做到这一点,而不会造成明显的质量损失。
CDN:使用内容交付网络来提供图像。这可以显着减少加载时间,特别是对于远离服务器位置的用户。
请记住,最佳策略取决于您的具体用例和图像的性质。您可能需要结合使用这些技术才能获得最佳结果。