嗨,我正在尝试使Android和IOS设备的HTML网页脱机。我的问题是我需要存储大量数据。此数据(css,js,图像,html)需要保持不变。(即使在关闭设备后)
使用:有人键入URL,并使整个页面脱机。
保留数据的最佳方法是什么?无需制作混合或本机应用程序,仅通过缓存,甚至可以使用appcache / indexeddb,就可以实现。
编辑:我发现结合dexies索引的db,我最好的猜测是一个解决方案。你们有没有建议的替代品或教程?
根据应用程序的个性,有时我会在安装/激活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应用程序,并且从未达到数据配额。当然,许多视频或图像当然会占用更多空间,并且您需要注意超出配额的错误。
还将提示用户授予扩展存储的权限,因此请注意该障碍,因为您可能需要教育用户有关此的知识。
非常感谢您,这篇文章也非常有帮助!我将尝试使用该策略和结构来保存我的数据,缓存等。目前看来,我不会达到任何缓存限制。阅读本文,这是我的应用程序应提供的一个很好的例子!有关此pubcon应用的详细信息吗?