Javascript 是否可以在会话之间在浏览器中存储超过100 MB的数据?

Javascript 是否可以在会话之间在浏览器中存储超过100 MB的数据?,javascript,google-chrome,firefox,local-storage,storage,Javascript,Google Chrome,Firefox,Local Storage,Storage,我们可以在浏览器中保留多少数据,以便在关闭/重新打开浏览器后可以再次访问这些文件 允许约5或10 MB(取决于浏览器) 其他系统可能也可用(如IndexedDB),但它似乎相当复杂 问题:是否有一种简单易用的技术(至少适用于Chrome+Firefox,如果完全跨浏览器、移动和桌面,甚至更好)允许存储超过100MB(高达500MB)? 用例:一个允许使用高质量样本(比如150MB音频样本)弹奏钢琴的网站,并防止每次打开页面时必须重新下载数据 PS:我最好找一个不需要安装扩展或浏览器插件的解决方案

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

允许约5或10 MB(取决于浏览器)

其他系统可能也可用(如
IndexedDB
),但它似乎相当复杂

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

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

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

是的

正如评论中所提到的,IndexedDB是一条路要走。PockDB对不同浏览器之间的存储限制有很好的了解

尽管Firefox除了磁盘空间之外没有上限,但如果您的应用程序希望在本地[IndexedDB中]存储超过50MB的数据,Firefox将使用非模式对话框要求用户确认这是正常的

Android与Chrome在4.4+(IndexedDB)上的工作原理相同,而较旧的版本可以存储高达200MB(WebSQL)

临时存储在浏览器中运行的所有web应用之间共享。{#它也在所有脱机API(如应用缓存、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的复杂性的问题了吗?如果您想进一步讨论,请随时与我聊天。(可能是误会,如果需要的话,我很乐意帮忙)@Basj,不用担心,我想我已经找到了问题的症结所在,目前正在研究参数化的复杂性。我认为我的问题属于这些复杂的类别之一。再次感谢您对问题的意见和建议:D!