14

我们正在为 iOS 设备构建一个渐进式网络应用程序,并且我们知道 Safari 网络浏览器施加的 50 MiB 缓存限制。当我们知道如果我们包含所有静态资源、视频和图片等,我们的应用程序的服务工作人员可能需要缓存超过 50 MiB 的数据时,我们如何处理这个限制。我们的第一选择是即使在缓存之后也保持应用程序离线运行已满,如果这不可能,至少在用户离线工作时防止应用程序崩溃。

如果您给出一个我们也可以在其他 PWA 中实现的通用答案,那就太好了。

4

2 回答 2

4

如今,您可以使用 IndexedDB 在 Safari 移动设备上存储超过 50 MB:https ://love2dev.com/blog/what-is-the-service-worker-cache-storage-limit/

如果可用磁盘空间大小超过 1 GB,则默认限制为 500 MB;否则它是可用磁盘空间的一半。

使用此工具亲自查看:https ://demo.agektmr.com/storage/

于 2019-10-28T13:45:58.367 回答
0

至少从 iOS 13 开始,IndexedDB 和 cacheStorage 都应该有 1GB 的统一配额。请参阅以下 WebKit 更改:https ://bugs.webkit.org/show_bug.cgi?id=198133#c15

于 2020-02-17T21:49:06.940 回答