Web存储的W3C规范(通俗地称为HTML5本地存储,虽然这是用词不当)允许用户代理强制执行大小限制,建议为5MB。根据我在网上找到的各种来源,很多现代浏览器使用这个5MB的限制,除了IE,它提供10MB。
首先,我想知道,限制是否适用于localStorage和sessionStorage的总和,或单独应用于它们?
现在,我们如何实际应对这些限制?有没有办法找出特定浏览器的限制?是否有任何网站维护不同浏览器的统计数据?当浏览器超过限制时抛出异常?是否有一种万无一失的方法来测试不同浏览器中的这个异常“类”?
答案 0 :(得分:2)
AFAIK,localStorage
对象中没有方法来确定其大小。但是,尝试写入超出存储限制的数据量将导致您可以捕获的异常。
查看http://arty.name/localstorage.html
基本上,您可以将写入函数包装在try...catch
块中,如下所示:
function write(value, name) {
try {
localStorage.field = value;
return true;
} catch (e) {
return false;
}
}