是否可以计算出 HTML5 对 session/local 存储的利用率?

Is it possible to work out HTML5 utilisation of session/local storage?

是否可以计算出会话存储的利用率?

理想情况下 return 站点会话存储内容的当前大小

http://www.w3schools.com/html/html5_webstorage.asp

要获得稍微相关的结果,您可以这样做:

var size = JSON.stringify(localStorage).length; // size in bytes

这是有效的,因为 localStorage returns Object 包含存储在其中的所有数据。如果将其字符串化,您可以轻松获得字符串的长度(以字节为单位)。

我说 "somewhat relevant" 是因为在对 Object 进行字符串化时,会在键周围添加引号,这会影响结果。否则,您可以简单地遍历 localStorage 中的所有键并对在这些键处找到的字符串的长度求和。

我用过这个,它匹配本地存储大小 here

function getLocalStorageSize() {
    var key, item, bytes = 0, keys = Object.keys(localStorage);

    for (var i = 0; i < keys.length; i++) {
        key = keys[i];
        item = localStorage[key];
        bytes += key.length + item.length;
    }

    return bytes;
}