将PWA的所有图像从firebase存储下载到缓存中



有一个基于vuejs的PWA,它连接到firebase。

该应用程序有几个带有图像的页面。每个页面都有多个图像–要查看页面上的所有图像,您需要向下滚动页面。所有图像都存储在firebase存储中。当你第一次向下滚动页面时,由于应用程序下载了图像,因此不会显示图像。几秒钟后出现图像。

任务是在向下滚动页面时避免下载图像,并在滚动过程中立即显示图像。

此时此刻:

  • 所有图像都上载到firebase存储,并带有以下元数据:metadata={cacheControl:'public,max-age=30000000,s-maxage=3000000'}
  • 下载图像时,它会显示在应用程序缓存中。向下滚动所有页面时,所有图像都在应用程序缓存中。在这种情况下,在滚动期间立即显示所有图像
  • 刷新页面时,所有图像都会从缓存中删除

要解决此任务,我的建议是在打开PWA时将所有图像下载到缓存中。并且希望在接下来的3天内将图像下载到缓存中。

请在您打开PWA时,帮助我找到在接下来的3天内将所有图像下载到缓存中的方法。

或者,如果我的建议不是解决任务的最佳方式,请建议解决任务的更好方式。

谢谢!

如果您能与我们共享一些代码,那就太好了。尤其是您的Service Worker(SW(是如何工作的。

有多点你应该考虑:

每个SW都有一个生命周期,并且它们中的一些被设置为清除Lifescyle事件"上的高速缓存;激活";。检查一下你的是不是在这么做。

您应该做的一件事是捕获对图像的所有GET请求,并在图像存在的情况下从缓存返回图像,如果没有,则从服务器返回图像(这应该在软件中完成(

您可以在安装时将themm存储在软件中。只要确保不要一次保存太多,因为那时安装可能会很容易失败。

当您提前以异步方式向下滚动时,请尝试将它们以较小的批量保存到缓存中。您也可以从前端代码将数据保存到缓存中。

最新更新