具有持久数据的脱机网页缓存



嗨,我正在尝试使我的HTML网页离线用于Android和IOS设备。我的问题是我需要存储大量数据。这些数据(css,js,images,html(需要持久化。(即使在设备关闭后(

使用:有人键入 URL 并使整个页面脱机可用。

持久保存数据的最佳方法是什么? 是否可以在不制作混合或本机应用程序的情况下,只需使用缓存和 appcache/indexeddb。

编辑:我发现索引数据库与Dexies相结合,我最好的猜测是解决方案。 你们有什么建议或不该做,替代方案或教程吗?

根据应用程序的个性,我有时会在安装/激活服务工作线程时在服务工作线程中呈现整个站点/应用程序。 我写了一篇关于我去年 10 月为会议制作的示例应用程序,https://love2dev.com/pwa/pubcon/

就战略而言,我会改变事情。对于数据(想想JSON(,我倾向于缓存在IndexedDB中(我喜欢localforage b/c,这很简单(。 对于站点资产(HTML,JS,CSS,FONTS,通常还有媒体(,我使用Service Worker cache。 如果一个网站有大量媒体,我会在 IDB b/c 中保留图像和视频 iOS 将服务工作者缓存限制为 50MB。对于任何 Web 应用程序核心资产来说,50MB 应该绰绰有余,因为它们实际上应该以 KB 为单位,而不是 MB。 iOS 为您提供几 GB 的 IDB 存储空间,具体取决于设备上有多少可用磁盘空间。 我使用此策略构建了多个 SAAS 应用程序,并且从未达到数据配额。当然,大量的视频或图像当然会占用更多空间,您需要注意配额超出错误。

系统还将提示用户授予扩展存储的权限,因此请注意该障碍,因为您可能需要教育用户。

最新更新