Локальное хранилище

При создании более сложных приложений JavaScript, которые запускаются в браузере пользователя, очень полезно иметь возможность хранить информацию в браузере, чтобы ею можно было обмениваться на разных страницах и в сеансах просмотра.

В недавнем прошлом это было возможно только с помощью cookies ─ текстовых файлов, сохранённых на компьютере пользователя, ─ но способ управления ими с помощью JavaScript не был хорошим. Теперь появилась новая технология под названием local storage, которая выполняет аналогичную функцию, но с более простым в использовании интерфейсом.

В отличие от файлов cookie, локальное хранилище может быть прочитано только на стороне клиента, то есть браузером и вашим JavaScript. Если вы хотите поделиться некоторыми данными с сервером, файлы cookie могут быть лучшим вариантом.

Чтобы сохранить некоторые данные, используйте localStorage.setItem.

localStorage.setItem('name', 'tom');

Первый аргумент — это идентификатор, который вы позже будете использовать для повторного извлечения данных. Второй — это данные, которые вы хотите сохранить.

Вернуться к работе снова просто — просто передайте идентификатор в localStorage.getItem.

var name = localStorage.getItem('name');

Локальное хранилище может сохранять только строки, поэтому для хранения объектов требуется, чтобы они были преобразованы в строки с помощью JSON.stringify ─ вы не можете попросить локальное хранилище сохранить объект напрямую, потому что оно сохранит “[object Object]”, что совсем не правильно!

Это также означает, что объект должен быть запущен через JSON.parse при выходе из локального хранилища. Вы можете видеть это в примере ниже.

// Object example

localStorage.setItem('user', JSON.stringify({
    username: 'htmldog',
    api_key: 'abc123xyz789'
}));

var user = JSON.parse(localStorage.getItem('user'));

Поддержка браузером локального хранилища не на 100%, но она довольно хороша ─ вы можете ожидать, что она будет работать во всех современных браузерах, IE 8 и выше, а также в большинстве мобильных браузеров.

Страницы в тему:

Добавить комментарий