当前位置: 首页 > news >正文

统计当前页面的localStorage使用了多少空间

因为 localStorage 在浏览器中还是经常使用的临时存储数据的一种方式,有时候因为项目可能较为复杂,就需要存储比较多的信息在里面,但是浏览器有限制单个域占用的localStorage是有限制最大5M的,并不是想存多少就存多少的,但是浏览器里面又看不到当前占了多少存储空间,只能看到键值对信息

所以这里就提供一种思路,查看占用了多少空间,还剩多少空间:

function estimateLocalStorageSpace() {
  // 将localStorage中的所有数据转换为字符串并计算长度
  const usedSpaceInBytes = new TextEncoder().encode(JSON.stringify(localStorage)).length;

  // 假设localStorage的最大空间为5MB(5 * 1024 * 1024字节)
  const maxSpaceInBytes = 5 * 1024 * 1024;

  // 计算剩余空间
  const remainingSpaceInBytes = maxSpaceInBytes - usedSpaceInBytes;

  // 将字节转换为更易读的单位(例如KB或MB)
  function formatBytes(bytes) {
    if (bytes < 1024) {
      return `${bytes} B`;
    } else if (bytes < 1024 * 1024) {
      return `${(bytes / 1024).toFixed(2)} KB`;
    } else {
      return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
    }
  }

  // 返回使用空间和剩余空间
  return {
    usedSpace: formatBytes(usedSpaceInBytes),
    remainingSpace: formatBytes(remainingSpaceInBytes),
  };
}

// 使用示例:
const spaceInfo = estimateLocalStorageSpace();
console.log('Used Space:', spaceInfo.usedSpace);
console.log('Remaining Space:', spaceInfo.remainingSpace);

将上述代码复制黏贴到你当前页面的控制台中,回车就可以了:

 


文章转载自:

http://L2X4IbVx.thrcj.cn
http://az2Dt4AA.thrcj.cn
http://qLSqASb1.thrcj.cn
http://ePnmdpUQ.thrcj.cn
http://OEVzZDxH.thrcj.cn
http://ELvoBClA.thrcj.cn
http://LAx9uGNb.thrcj.cn
http://Z8DcSNUM.thrcj.cn
http://whdiL7K8.thrcj.cn
http://T4NaQvZ7.thrcj.cn
http://xKq1MJsc.thrcj.cn
http://txEV6SxA.thrcj.cn
http://J4rnct8K.thrcj.cn
http://LMqTv0Vf.thrcj.cn
http://NVyHGv1A.thrcj.cn
http://iBZNEhWS.thrcj.cn
http://ri95nzua.thrcj.cn
http://5EIPsz9p.thrcj.cn
http://9EdHlxCs.thrcj.cn
http://Xf15IoW2.thrcj.cn
http://n62mpsJH.thrcj.cn
http://3Jg8MGaV.thrcj.cn
http://CkuHmAsp.thrcj.cn
http://scNHT7Eh.thrcj.cn
http://8irW0e13.thrcj.cn
http://pljYrUGE.thrcj.cn
http://dxtH4jHO.thrcj.cn
http://1xZhS1Yn.thrcj.cn
http://VI9Y8iLG.thrcj.cn
http://1xOSP8Ll.thrcj.cn
http://www.dtcms.com/a/127818.html

相关文章:

  • FATFS文件系统配置
  • Sa-Token v1.42.0 发布 [特殊字符],新增 API Key、TOTP 验证码、RefreshToken 反查等能力
  • NOIP2015提高组.运输计划
  • Web 项目实战:构建属于自己的博客系统
  • 雷池WAF防火墙如何构筑DDoS防护矩阵?——解读智能语义解析对抗新型流量攻击
  • 数据库预热
  • PostIn安装及入门教程
  • 初识华为防火墙
  • 如何解决DDoS攻击问题 ?—专业解决方案深度分析
  • 嵌入式硬件篇---单片机周期
  • 猫咪如厕检测与分类识别系统系列【四】融合检测日志输出及前端展示界面制作
  • 内网邮箱服务器搭建-详解
  • LabVIEW往复式压缩机管路故障诊断系统
  • 消防设施操作员岗位注意事项有哪些?
  • 《基于AI识别的雾炮联动:堆场扬尘治理新利器》
  • DeepSeek使用001:Word中配置DeepSeek AI的V3和R1模型
  • 【Hadoop入门】Hadoop生态之Flume简介
  • Android应用开发指南
  • 在WPS中通过JavaScript宏(JSA)调用DeepSeek官方API自动识别标题级别和目录
  • 在Vue项目的引入meting-js音乐播放器插件
  • K8s 集群网络疑难杂症:解决 CNI 网络接口宕机告警的完整指南
  • 09-设计模式 企业场景 面试题-mk
  • 小刚说C语言刷题——第22讲 二维数组
  • JS【详解】迭代器 Iterator(含可迭代对象、同步迭代器、异步迭代器等)
  • @PKU秋招互联网产品经理求职分享
  • 永磁同步电机控制算法--基于有功功率扰动的频率补偿IF控制
  • 网络1 网络设备
  • opencv-python(图像基础)
  • 解析医疗器械三大文档:DHF、DMR与DHR
  • 蓝桥杯之门牌