[踩坑指南] localStorage最大存儲限制
目錄
前言
最近在項目中遇到后端一次性返回給前端超過5Mb的數據,前端在多個頁面展示這些數據,就涉及到了多頁面數據傳遞,之前數據量小采用了window.localstorage沒問題,后面發現localstorage存儲上限,setItem無法設置緩存,需要調整后端接口以及前端邏輯,或是采用存儲上限更高的方案,百度得知前端可使用indexDB進行大數據量存儲,后面研究一下看能否解決問題。
瀏覽器localstorage最大存儲限制測試
(function() {
if(!window.localStorage) {
console.log('當前瀏覽器不支持localStorage!')
}
var test = '0123456789';
var add = function(num) {
num += num;
if(num.length == 10240) {
test = num;
return;
}
add(num);
}
add(test);
var sum = test;
var show = setInterval(function(){
sum += test;
try {
window.localStorage.removeItem('test');
window.localStorage.setItem('test', sum);
console.log(sum.length / 1024 + 'KB');
} catch(e) {
alert(sum.length / 1024 + 'KB超出最大限制');
clearInterval(show);
}
}, 20)
})()
將這段代碼直接粘貼到瀏覽器控制台執行即可.
使用edge瀏覽器執行結果如下:
可以看到,edge瀏覽器最大存儲限制為 5120kb,即5Mb.