【问题标题】:Is it possible to store more than 100 MB in the browser between sessions?会话之间是否可以在浏览器中存储超过 100 MB 的空间?
【发布时间】:2018-06-18 03:44:35
【问题描述】:

我们可以在浏览器中保留多少数据,以便在关闭/重新打开浏览器后可以再次访问这些文件?

LocalStorage seems to 允许大约 5 或 10 MB(取决于浏览器)。

可能还有其他系统可用(例如IndexedDB),详情为here,但看起来相当复杂。

问题:是否有一种易于使用的技术(至少适用于 Chrome+Firefox,或者如果完全跨浏览器、移动设备和桌面设备甚至更好)允许存储超过 100MB(最多500MB)?

用例:一个网站允许使用高质量的样本(比如 150 MB 的音频样本)弹奏钢琴,并避免每次打开页面时都必须重新下载数据。

PS:我最好寻找不需要安装扩展程序或浏览器插件的解决方案。

【问题讨论】:

标签: javascript google-chrome firefox local-storage storage


【解决方案1】:

是的!

正如 cmets 中提到的那样,IndexedDB 是要走的路。 PouchDB 有一个很好的FAQ 关于不同浏览器之间的存储限制。

虽然 Firefox 除了磁盘空间外没有上限,但如果您的应用程序希望在本地存储超过 50MB [In IndexedDB],Firefox 会使用非模态对话框询问用户是否可以。

Android 与 Chrome 4.4+ (IndexedDB) 的工作方式相同,而旧版本最多可存储 200MB (WebSQL)。

来自Chrome webpage.

临时存储在浏览器中运行的所有 Web 应用程序之间共享。{#它还在所有离线 API 之间共享,例如 App Cache、IndexedDB 和文件系统。但是,它不包括本地存储和会话存储等 Web 存储 API,每个源仍然有 5 MB 的限制。#} 共享池可以达到可用磁盘空间的 1/3。应用程序已使用的存储空间包含在共享池的计算中;也就是说,计算是基于(可用存储空间+应用程序正在使用的存储空间)* .333 。 每个应用程序最多可以拥有 20% 的共享池。例如,如果总可用磁盘空间为 60 GB,则共享池为 20 GB,应用程序最多可以有 4 GB。这是根据可用磁盘空间 (60 GB) 的 1/3(最多 20 GB)的 20%(最多 4 GB)计算得出的。

【讨论】:

  • 谢谢你的回答乔汤姆! PS:您是否解决了关于 k 选择 n 的复杂性的问题?如果您想进一步讨论,请随时在聊天中 ping 我。 (可能有误会,如有需要我很乐意提供帮助)
  • @Basj,不用担心,我想我已经深入了解了,目前正在阅读参数化复杂性。我认为我的问题属于那些复杂性类别之一。再次感谢您对问题的投入和报价:D!
猜你喜欢
  • 2021-07-25
  • 2013-12-18
  • 1970-01-01
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多