具有持久数据的离线网页缓存
offline web page caching with persistent data
您好,我正在尝试让 HTML 网页在 android 和 IOS 设备上离线。我的问题是我需要存储大量数据。此数据 (css,js,images,html) 需要持久化。 (即使在设备关闭后)
使用:有人输入 URL 并使整个页面脱机可用。
保存数据的最佳方式是什么?是否有可能不制作混合或本机应用程序,仅使用缓存和可能 appcache/indexeddb.
编辑:我发现索引数据库与 dexies 结合我最好的猜测是解决方案。你们有什么做或不做、替代方法或教程建议吗?
根据应用程序的个性,当服务工作者 installed/activated 时,我有时会在服务工作者中呈现整个 site/application。
我写了一个我去年 10 月为会议做的示例应用程序,https://love2dev.com/pwa/pubcon/
至于策略,我有多种选择。对于数据(想想 JSON)我倾向于缓存在 IndexedDB 中(我喜欢 localforage b/c 这很简单)。
对于站点资产(HTML、JS、CSS、字体和经常使用的媒体),我使用 service worker 缓存。
如果一个网站上有很多媒体,我会在 IDB 中保留图像和视频 b/c iOS 将服务工作者缓存限制为 50MB。 50MB 对于任何 Web 应用程序核心资产来说应该绰绰有余,因为它们实际上应该以 kb 为单位进行衡量,而不是 MB。
iOS 为您提供数 GB 的 IDB 存储空间,具体取决于设备上可用的磁盘空间 space。
我已经使用这种策略构建了多个 SAAS 应用程序,并且从未达到数据配额。当然,很多视频或图片当然会消耗更多 space,您需要注意配额超出错误。
系统还会提示用户授予扩展存储权限,因此请注意这一障碍,因为您可能需要就此对用户进行教育。
您好,我正在尝试让 HTML 网页在 android 和 IOS 设备上离线。我的问题是我需要存储大量数据。此数据 (css,js,images,html) 需要持久化。 (即使在设备关闭后)
使用:有人输入 URL 并使整个页面脱机可用。
保存数据的最佳方式是什么?是否有可能不制作混合或本机应用程序,仅使用缓存和可能 appcache/indexeddb.
编辑:我发现索引数据库与 dexies 结合我最好的猜测是解决方案。你们有什么做或不做、替代方法或教程建议吗?
根据应用程序的个性,当服务工作者 installed/activated 时,我有时会在服务工作者中呈现整个 site/application。 我写了一个我去年 10 月为会议做的示例应用程序,https://love2dev.com/pwa/pubcon/
至于策略,我有多种选择。对于数据(想想 JSON)我倾向于缓存在 IndexedDB 中(我喜欢 localforage b/c 这很简单)。 对于站点资产(HTML、JS、CSS、字体和经常使用的媒体),我使用 service worker 缓存。 如果一个网站上有很多媒体,我会在 IDB 中保留图像和视频 b/c iOS 将服务工作者缓存限制为 50MB。 50MB 对于任何 Web 应用程序核心资产来说应该绰绰有余,因为它们实际上应该以 kb 为单位进行衡量,而不是 MB。 iOS 为您提供数 GB 的 IDB 存储空间,具体取决于设备上可用的磁盘空间 space。 我已经使用这种策略构建了多个 SAAS 应用程序,并且从未达到数据配额。当然,很多视频或图片当然会消耗更多 space,您需要注意配额超出错误。
系统还会提示用户授予扩展存储权限,因此请注意这一障碍,因为您可能需要就此对用户进行教育。