当LocalStorage达到域的最大存储限制时会发生什么?
有一个类似的StackOverflow问题:What is the max size of localStorage values?它回答了浏览器存储限制的问题,但该问题不会询问或回答达到限制时到底发生了什么。限制对我来说无关紧要,对我来说重要的是当达到限制时到底发生了什么,如果我需要在客户端代码中修剪缓存,或者浏览器会做什么这对我来说是自动的。
答案 0 :(得分:3)
说明Spec:
如果无法设置新值,则该方法必须抛出一个 QuotaExceededError异常。 (例如,如果用户,则设置可能失败 已禁用该网站的存储空间,或者已超出配额。)
理论上,你应该总是使用try-catch clause来防止这种错误。
for (var i = 0;i<200000;i++){
test += "sdfghyxcvbn123kjhajsdfkhuwehfkjs,dnfhkweufhkjsdf";
}
try{
var result = window.localStorage.setItem("test",test);
} catch(e) {
console.log(e.message);
}