温馨提示:本文翻译自stackoverflow.com,查看原文请点击:android - offline web page caching with persistent data
android browser-cache caching html progressive-web-apps

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

发布于 2020-04-24 17:23:41

嗨,我正在尝试使Android和IOS设备的HTML网页脱机。我的问题是我需要存储大量数据。此数据(css,js,图像,html)需要保持不变。(即使在关闭设备后)

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

保留数据的最佳方法是什么?无需制作混合或本机应用程序,仅通过缓存,甚至可以使用appcache / indexeddb,就可以实现。

编辑:我发现结合dexies索引的db,我最好的猜测是一个解决方案。你们有没有建议的替代品或教程?

查看更多

提问者
Tillo Loozen
被浏览
51
Chris Love 2020-02-10 22:19

根据应用程序的个性,有时我会在安装/激活Service Worker时在Service Worker中渲染整个站点/应用程序。我写了一个我去年10月参加一次会议的示例应用程序,网址https://love2dev.com/pwa/pubcon/

至于策略,我有所不同。对于数据(例如JSON),我倾向于在IndexedDB中缓存(我喜欢localforage b / c,这很简单)。对于站点资产(HTML,JS,CSS,字体和常用媒体),我使用服务工作者缓存。如果网站上的媒体过多,我会将图像和视频保存在IDB b / c iOS中,将服务工作者缓存限制为50MB。50MB对于任何Web应用程序核心资产都应该绰绰有余,因为它们实际上应该以kb为单位,而不是以MB来衡量。iOS为您提供了GB GB的IDB存储,具体取决于设备上可用的磁盘空间。我已经使用此策略构建了多个SAAS应用程序,并且从未达到数据配额。当然,许多视频或图像当然会占用更多空间,并且您需要注意超出配额的错误。

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