问题:
1、a.xxx.com和b.xxx.com这两个域能共享同一个localStorage吗
2、在a.xxx.com/list.html页面中点击进入a.xxx.com/details.html中,这两个不同的页面能共享一个localStorage吗
3、如果localStorage存满了,再往里存东西,或者要存的东西超过了剩余容量,会发生什么
答:
1、同一个域名可以共享同一个localStorage,a.xxx.com和b.xxx.com是两个域名,不能共享
2、可以。相当于同一个浏览器的不同页面,不同浏览器之间不能共享
3、存不进去并报错
怎么避免localStorage存满的问题:
1、划分域名。各域下的存储空间由各业务组统一规划使用
2、跨页面传数据:考虑单页面应用、优先使用url传数据
3、最后的方案:清掉之前的缓存(互相伤害)
获取localStorage已使用容量:
getLocal(){ if(!window.localStorage) console.log('浏览器不支持localStorage'); let size = 0; for(let item in window.localStorage) { if(window.localStorage.hasOwnProperty(item)) { size += window.localStorage.getItem(item).length; } } console.log('当前localStorage已使用容量为' + (size / 1024).toFixed(2) + 'KB'); }