如何获取当前应用程序使用的总html5存储大小

Rob*_*ben 6 javascript html5 local-storage

我需要一种方法来查找运行时使用HTML5 sessionStorage/ 的应用程序占用的总大小localStorage.

我不想要基于探测器的方法.

我目前正在做的是 -

var data = 0;
for(var v in window.sessionStorage){
 data += window.sessionStorage.getItem(v); 
}

console.log(data);//.length to get char length
Run Code Online (Sandbox Code Playgroud)

然后我将此值复制粘贴到文本文件中并检查大小.

丑陋,仍然没有帮助我.HTML5 API中是否有一种方法(任何方法)具有内置功能?

谢谢.

Jon*_*han 13

不,不是跨浏览器.IE 有它,其他没有.但当然,可以计算域上剩余的剩余大小.见下面的例子.

仅适用于IE:

var remSpace = window.localStorage.remainingSpace;
Run Code Online (Sandbox Code Playgroud)

对于FF/Chrome/Safari:

 var limit = 1024 * 1024 * 5; // 5 MB
 var remSpace = limit - unescape(encodeURIComponent(JSON.stringify(localStorage))).length;
Run Code Online (Sandbox Code Playgroud)

Opera:5 MB是标准配置,但随着应用程序需要更多空间,浏览器可以提高限制.