Local Storage

Local Storage — база данных, которая сохраняется на компьютере посетителя сайта. Храниться могут только строки.

Максимальный размер Local Storage определяется браузером. По умолчанию стоит 5 Мб на каждый домен.

Преимущества Local Storage:

  1. Данные хранятся на компьютере пользователя (снижение нагрузки на сайт);
  2. Неограниченное время жизни;

Сохранение данных

// 1-ый способ
localStorage['anyVar'] = 'любое значение';
localStorage['anyVar']; // любое значение
 
// 2-ой способ
localStorage.setItem('anyVar', 'любое значение');
localStorage.getItem('anyVar'); // любое значение

Объекты можно сохранять через следующий код:

var car = {};
car.name = 'Lightning McQueen';
car.doors = 2;
car.wheels = 4;

// сохранение в Local Storage
localStorage.setItem('car', JSON.stringify(car));

// чтение из Local Storage
JSON.parse(localStorage.getItem('car'));

Если не преобразовывать данные в JSON (JSON.stringify()), то объект сохранится в Local Storage как текст «[object Object]».

Удаление данных

localStorage.removeItem('anyVar'); // удалит переменную
localStorage.clear();              // удалит все переменные из Local Storage

Проверить, что место свободно

try {
    localStorage.setItem('foo', 'bar');
} catch (e) {
    if (e == QUOTA_EXCEEDED_ERR) {
        alert('Локальное хранилище переполнено');
    }
}

Также можно использовать sessionStorage вместо localStorage, чтобы хранить данные на компьютере посетителя сайта до закрытия браузера.

Local Storage можно использовать только в пределах одного домена или поддомена.