2016-06-28 2 views
1

Можно ли использовать сеансовое хранилище?Возможно ли использование HTML5 для использования сеансового/локального хранилища?

В идеале, чтобы вернуть текущий размер содержимого хранения сеансовых сайта

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

+1

Что вы подразумеваете под "размером"? Вы можете использовать свойство [length] (https://developer.mozilla.org/en-US/docs/Web/API/Storage/length), чтобы определить количество элементов в хранилище. –

+0

Длина прекрасна;) – P6345uk

+0

Думаю, я пропустил очевидное. Спасибо вам всем – P6345uk

ответ

1

Я использовал это, и он соответствовал размеру локального хранилища 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; 
} 
1

Чтобы получить несколько соответствующий результат, который вы можете сделать это:

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

Это работает, потому что localStorage возвращает Object, содержащий все данные, хранящиеся в нем. Если вы его стягиваете, вы можете легко получить длину (в байтах) строки.

Я говорю «несколько релевантно», потому что когда строятся кавычки Object, добавляются вокруг ключей, и это влияет на результат. В противном случае вы можете просто перебрать все ключи в localStorage и суммировать удлинения строк, найденных на этих клавишах.

Смежные вопросы