Javascript IndexedDB中的最大项目大小

Javascript IndexedDB中的最大项目大小,javascript,html,indexeddb,Javascript,Html,Indexeddb,我正在开发一个简单的web实用程序,它利用HTML5的IndexedDB(类似于键值DB)特性 我一直在寻找,但我不知道:我能在一件物品中储存的最大尺寸是多少?我认为一件物品的尺寸没有具体的限制,只有一个全局限制 自最初编写此答案以来,有关全球限额的规则已发生变化。-根据可用磁盘空间,“组”限制(针对给定域,包括其所有子域)的范围为10 MB到2 GB。 旧答案-随着Firefox 38(2015-05)的发布而过时,该版本: 从support.mozilla.com上的回答(我已经用perm

我正在开发一个简单的web实用程序,它利用HTML5的IndexedDB(类似于键值DB)特性


我一直在寻找,但我不知道:我能在一件物品中储存的最大尺寸是多少?

我认为一件物品的尺寸没有具体的限制,只有一个全局限制

自最初编写此答案以来,有关全球限额的规则已发生变化。-根据可用磁盘空间,“组”限制(针对给定域,包括其所有子域)的范围为10 MB到2 GB。


旧答案-随着Firefox 38(2015-05)的发布而过时,该版本:

从support.mozilla.com上的回答(我已经用perma版本替换了他提供的链接):

在Firefox4中,默认情况下,站点最多可以使用50MB的IndexedDB存储。如果Firefox试图使用超过50MB的数据,它将请求用户许可:

在针对移动设备的Firefox(谷歌Android和诺基亚Maemo)中,如果网站试图使用超过5MB的数据,Firefox将请求许可: [……]

如果用户授予某个站点超过50MB IndexedDB配额的权限,那么据我所知,Firefox不会再施加任何限制。IndexedDB数据库大小的唯一限制是用户的磁盘空间和操作系统

localStorage配额为5000KB,网站无法请求浏览器允许在localStorage中存储超过该数量的内容


除了Nickolay answers,以下是Chrome和IE中IndexedDB容量的描述

  • Chrome(桌面):默认情况下,对于Web应用程序,Chrome在使用indexedDB API存储数据时不会提示用户。它使用了共享池的概念,以下是完整的描述-

  • Android版Chrome:找不到任何官方链接说明配额。但根据我的经验,我在没有任何提示的情况下保存了300 MB的数据。很可能与桌面Chrome的行为相同

  • Internet Explorer 10:默认情况下,系统会提示用户输入10 MB的存储空间。默认情况下,每个域250 MB是硬限制,但是用户可以配置自己的限制,直到1 GB

对于使用现代浏览器的普通网站,您不必担心indexedDB中的可用存储空间,因为它要高得多

最大存储大小取决于两个因素,浏览器磁盘空间

因此,Chrome和大多数基于Chrome的浏览器允许使用80%的磁盘空间,并且每个来源都可以使用75%的磁盘空间。也就是说, 如果您有100GB的磁盘空间,那么80GB可用于在indexedDB中存储数据,而60GB可用于单个源

另外,Firefox允许每个源存储2GB数据,Safari允许每个源存储1GB数据

您可以按检查可用的总空间和已使用的空间-

const quota=wait navigator.storage.estimate();
const totalSpace=quota.quota;
const usedSpace=quota.usage;

IOS Safari怎么样?这可能是浏览器的最大限制。indexdb存储与localstorage不同吗?