localStorage存满了怎么办

问题:

  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');
    }
复制代码

 

posted @   吴小明-  阅读(1293)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
点击右上角即可分享
微信分享提示