打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
获得浏览器localStorage的剩余容量

一、如何获取localStorage的剩余容量

在H5大行其道的今天,localStorage(本地存储)对每一个前断攻城师来说都不太陌生。同时localStorage也给我们带来了极大的便利,不用于cookies的小家子气,localStorage的存储量还是很客观的。

由于浏览器的差异性,导致我们需要对localStorage中的内容做出一部分取舍。而根据目前的市场上浏览器对loaclStorage的兼容性来看,最佳的大小是2.5M左右。如何得到localStorage的容量大小,大概接触过localStorage都会遇到的这么一个问题。

localStorage 中存储的是字符串,根据这一条件,我们可以通过取出所有的localStorage的内容,而其长度就是大小。具体代码如下:

(function(){
     if(!window.localStorage) {
         console.log('浏览器不支持localStorage');
     }
     var size = 0;
     for(item in window.localStorage) {
         if(window.localStorage.hasOwnProperty(item)) {
             size += window.localStorage.getItem(item).length;
         }
     }
     console.log('当前localStorage剩余容量为' + (size / 1024).toFixed(2) + 'KB');
 })()

二、如何获取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) {
        console.log(sum.length / 1024 + 'KB超出最大限制');
        clearInterval(show);
       }
    }, 0.1)
  })()

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
JavaScript连载14-函数以及arguments解析
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
HTMl5的sessionStorage和localStorage
AngularJS进阶(三十四)Angular数据更新不及时问题探讨
localStorage – WEB前端开发
JS 插件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服