是否可以计算出会话存储的利用率?
理想情况下返回站点会话存储内容的当前大小
要获得一些相关的结果,您可以这样做:
var size = JSON.stringify(localStorage).length; // size in bytes
这是有效的,因为localStorage
返回Object
包含存储在其中的所有数据。如果将其字符串化,则可以轻松获得字符串的长度(以字节为单位)。
我说“有点相关”,因为在对键进行字符串化时,Object
会在键周围添加引号,这会影响结果。否则,您可以简单地遍历 localStorage 中的所有键并将在这些键处找到的字符串的长度相加。
我使用了这个,它与这里的本地存储大小相匹配。
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;
}