Firefox和Chrome的持久本地存储?

时间:2013-12-28 22:01:34

标签: javascript html5 local-storage indexeddb html5-filesystem

寻找使用Firefox和Chrome进行持久本地存储的建议/选项,这样我就可以节省50MB +数据。我将为WebGL游戏存储动态地形数据,因此服务器无需在每次播放器连接时发送整个数据。我可以更新旧部件。

我考虑使用IndexedDB,但Chrome不允许您增加配额(与Firefox不同),因此我无法存储任何大数据。 Chrome允许您使用FileSystem API来解决我的问题,但Firefox不支持它。

所以它似乎无论哪种方式都行不通。我唯一的选择是使用适用于Chrome的FileSystem API和适用于Firefox的IndexedDB吗?有没有人有更好的想法?

此信息是我从Mozilla's BlogGoogle's Dev Site中读到的信息,但现在可能已经过时了,所以请随时纠正我。谢谢!

2 个答案:

答案 0 :(得分:2)

我同意有关缓存和Chrome / Firefox市场的其他评论,它们最终可能是更好的解决方案。但是,要回答你原来的问题...

Chrome中的IndexedDB绝对不限于5 MB。假设用户有足够的硬盘空间,您可以在Firefox和Chrome中存储超过50 MB的IndexedDB。 this game I wrote中定期达到更高数量的IndexedDB存储。在我的计算机上,我目前在Chrome的IndexedDB中为该一个域存储了超过500 MB。

你确实链接到https://developers.google.com/chrome/whitepapers/storage并且它非常令人困惑,但据我所知,基本上上限是硬盘驱动器上可用空间的10%。该页面上描述的另一个警告是,IndexedDB在技术上是临时的"如果空间不足,浏览器可能会删除的存储空间,但实际上这似乎很少发生(YMMV)。

答案 1 :(得分:1)

localStorage限制为5 MB(我认为这是在Chrome上),您可以通过对话框为每个新的5 MB请求更多空间。

为交互式数据创建了localStorage和IndexedDb。因为看起来客户端没有修改数据,所以选项是

  • 使用application cache(如评论中所述)

  • 使用cache forever HTTP headers(例如10年)提供数据,为新资源版本提供唯一的网址,并让浏览器在数据超出缓存时重新下载(推荐)

  • 将您的HTML5应用程序部署为Web应用程序,可从Chrome Store和Firefox Marketplace下载

相关问题