防止localStorage QUOTA_EXCEEDED_ERR

时间:2014-03-14 16:37:27

标签: javascript function local-storage storage limit

我需要通过网络浏览器localStorage在填充时拦截实例来保存大量数据。我搜索了很多,我能找到的唯一方法就是调用一个布尔方法来尝试创建新条目。我宁愿避免这种方法。

我想知道localStorage JavaScript函数是否存在,以确定它是否已存在。

2 个答案:

答案 0 :(得分:2)

不存在此类方法。测试存储容量的唯一方法是尝试添加到存储并捕获异常。有关localStorage的可用方法,请参阅the spec

答案 1 :(得分:0)

通常用于防止此类拦截的方法是添加QUOTA_EXCEEDED_ERR之类的检查

try {
    localStorage.setItem('item', val);
} catch (e) {
    if (e == QUOTA_EXCEEDED_ERR) {
        alert('Quota exceeded!');
    }
}