由于(目前)仅支持字符串作为值,并且为了做到这一点,对象需要在存储之前进行字符串化(存储为 JSON 字符串),因此对值的长度是否有定义的限制。localStorage
有谁知道是否有适用于所有浏览器的定义?
引用维基百科关于Web存储的文章:
Web存储可以简单地视为cookie的改进,提供更大的存储容量(在Google Chrome(https://plus.google.com/u/10/+FrancoisBeaufort/posts/S0Q5HqDB9bh),Mozilla Firefox和Opera中每个来源8 MB;在Internet Explorer中每个存储区域10 MB)和更好的编程界面。
还引用了John Resig的一篇文章[发表于2007年<>月]:
存储空间
这意味着,使用 DOM 存储,
您拥有比对 Cookie 施加的典型用户代理
限制多得多的存储空间
。
但是,提供的
金额未在规范中定义,
用户代理也没有有意义
地广播。如果您查看Mozilla源代码
,我们可以看到5120KB是整个域的默认
存储大小。
这为您提供了比典型的 2KB
cookie 更多的工作空间
。但是,此存储区域的大小可以由用户(因此不能保证5MB的
存储区域
,也不能暗示)
和用户代理
(例如,Opera可能只提供
3MB – 但只有时间会证明一切)来自定义。
实际上Opera没有5MB的限制。它提供增加限制,因为应用程序需要更多。用户甚至可以为域选择“无限存储”。
您可以自己轻松测试本地存储限制/配额。
下面是找出限制的简单脚本:
if (localStorage && !localStorage.getItem('size')) {
var i = 0;
try {
// Test up to 10 MB
for (i = 250; i <= 10000; i += 250) {
localStorage.setItem('test', new Array((i * 1024) + 1).join('a'));
}
} catch (e) {
localStorage.removeItem('test');
localStorage.setItem('size', i - 250);
}
}
这是要点,JSFiddle和博客文章。
该脚本将测试设置越来越大的文本字符串,直到浏览器抛出并异常。此时,它将清除测试数据,并在 localStorage 中设置大小键,以千字节为单位存储大小。
模板简介:该模板名称为【HTML中localStorage 值的最大大小是多少?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【HTML】栏目查找您需要的精美模板。