是否可以计算出 HTML5 对 session/local 存储的利用率?
Is it possible to work out HTML5 utilisation of session/local storage?
是否可以计算出会话存储的利用率?
理想情况下 return 站点会话存储内容的当前大小
要获得稍微相关的结果,您可以这样做:
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;
}
是否可以计算出会话存储的利用率?
理想情况下 return 站点会话存储内容的当前大小
要获得稍微相关的结果,您可以这样做:
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;
}