`

如何获得浏览器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)
 })()
分享到:
评论

相关推荐

    localStorage在安卓内内置浏览器中报错解决

    localStorage在安卓内内置浏览器中报错解决,最好的解决的方法

    全浏览器兼容localStorage组件

    在现代Web开发中,`localStorage` 是一种非常重要的本地存储机制,它允许Web应用程序在用户的浏览器上持久化地存储数据。然而,`localStorage` 的支持并非所有浏览器都原生具备,尤其是在较旧版本的IE系列浏览器中。...

    浏览器关闭时清空localStorage储存的数据

    浏览器关闭时清空localStorage储存的数据说明需求解决方案及思路 说明 由于不同页面或标签页间无法共享sessionStorage的信息,所以将项目中登录状态存于localStorage中。 需求 需要在用户关闭浏览器时,将...

    backbone-localstorage-sync:用于将模型和集合持久化到浏览器 LocalStorage 的 Backbone 同步功能适配器

    Backbone LocalStorage 同步适配器用于将模型和集合持久化到浏览器 LocalStorage 的骨干同步功能适配器。 基于。 修改: 转换为 Node 兼容模块以供 Browserify/Webpack 使用。 没有依赖项(主干或下划线)。 您可以...

    获取浏览器缓存指定格式文件

    1. 本工具全面支持Chrome, IE, FireFox, Opera, Safari等浏览器下的缓存文件读取 2. 支持指定文件格式检索查询 3. 支持文件导出 4. 可以查看文件完整信息 5. 支持文件格式打开方式默认选择 6. 可以支持网页检索...

    node-localstorage:在node.js上运行的浏览器本机localStorage API的直接替代品

    浏览器本机localStorage API的直接替代品,该API在node.js上运行。 完全实现localStorage规范,包括: 接口中的所有方法包括: 长度 setItem(键,值) getItem(key) removeItem(键) 键(n) 清除() ...

    HTML5 LocalStorage和UserData实现兼容多浏览器的本地存储

    与LocalStorage类似,UserData也采用键值对存储,但它没有跨域限制,且存储容量相对较小(约64KB)。 使用UserData的基本步骤包括: 1. 创建一个DOM元素,如`<div>`,并为其设置`userData`属性。 2. 使用`...

    AngularStorage:Angular 存储服务,在浏览器 localStorage 中存储字符串化数据

    在浏览器 localStorage 中存储字符串化数据。 ##安装 通过添加到 bower.json 或手动安装使用 bower 进行安装。 bower install sm-angular-storage ##用法 将 sm.storage.js 添加到您的应用程序并包含 sm....

    localstorage:.NET的LocalStorage-一种简单轻巧的工具,用于在dotnet(核心)应用中持久保存数据

    您不能而且可能甚至根本不想从浏览器本身外部在Window.localStorage浏览器空间中读取/写入数据。 入门 正在安装 首先,您可能想深入了解的。 想要更多,看看。 游戏结束后,只需将其添加到您的项目中即可。 NuGet...

    vue实现localStorage工具类

    其中,`localStorage`是一种持久化的本地存储技术,它将数据保存在用户的浏览器上,即使关闭浏览器或计算机重启后,这些数据仍然存在。`localStorage`的最大存储量约为5MB,适用于保存应用级别的数据。 在本篇文档...

    如何使用localstorage代替cookie实现跨域共享数据问题

    因为cookie在跨域的情况下,浏览器根本不允许互相访问的限制,为了突破这个限制,所以有了以下这个实现方案,使用postmessage和localstorage进行数据跨域共享。 原理比较简单,但是遇到的坑也不少,这里梳理一下,做...

    vue 关闭浏览器窗口的时候,清空localStorage的数据示例

    在Vue.js应用中,有时我们需要在用户关闭浏览器窗口时自动清空存储在localStorage中的数据,以确保用户下一次访问时获得一个干净的环境。本文将详细介绍如何在Vue中实现这一功能,无论是对于单页面应用程序(SPA)...

    适用于浏览器和Node.js的通用LocalStorage。-JavaScript开发

    localstorage-ponyfill用于浏览器和Node.js的通用LocalStorage ponyfill库。 安装使用npm安装:npm install localstorage-ponyfill用法自动(浏览器或Node.js)自动localstorage-ponyfill用于浏览器和Node.js的通用...

    backbone.cache:将浏览器 LocalStorage 实现为支持加扰内容的骨干模型

    这是一个基本的 localStorage 主干缓存。 这个模块是用 UMD(通用模块定义)模式编写的,供 AMD 和非 amd 应用程序使用。 此实现依赖于以下库: 主干 ( ) jQuery ( ) jQuery 商店 ( ) 用法 方法 : setEncoder...

    localStorage,sessionStorage的使用

    3. localStorage在浏览器的隐私模式(Incognito或InPrivate模式)下不可读取。 4. 存储大量数据可能会消耗内存,导致页面加载变慢。 5. 不能被爬虫抓取到,对于搜索引擎优化(SEO)方面可能有影响。 ### 浏览器支持...

    webSql/LocalStorage

    LocalStorage的最大存储容量通常为5MB,具体取决于浏览器。它非常适合用来存储用户偏好设置、游戏进度或者页面状态等非结构化的数据。LocalStorage提供了`localStorage.getItem(key)`用于获取值,`localStorage....

    使用localStorage缓存js

    `localStorage` 提供了一个持久化的存储空间,最大容量约为5MB,不同域之间是隔离的,保证了数据的安全性。它主要包含两个方法:`setItem()` 和 `getItem()`,以及一个 `removeItem()` 方法用于删除存储的数据。 1....

    android webview 中localStorage无效的解决方法

    除了localStorage,HTML5还提供了另一种本地存储方式——sessionStorage,它在浏览器会话关闭后会被清除,而localStorage则长期保存。了解这些存储方式的差异和应用场景对于优化应用性能和用户体验非常重要。 在...

Global site tag (gtag.js) - Google Analytics