Найти в Дзене
Frontend developer

Web Storage API: основы и примеры работы с localStorage и sessionStorage

Введение:
Web Storage API предоставляет разработчикам простой способ хранить данные прямо в браузере пользователя. Это особенно полезно для сохранения настроек, предпочтений или временных данных, которые не должны исчезать при обновлении страницы. В этой статье мы рассмотрим два ключевых инструмента Web Storage API — localStorage и sessionStorage — и разберем их возможности и различия на примерах. Web Storage API — это встроенный в браузеры API, который позволяет хранить пары "ключ-значение" на клиентской стороне. В отличие от cookie, данные, сохраненные с помощью Web Storage, не отправляются на сервер при каждом запросе, что делает их более удобными для хранения информации, предназначенной для браузера. Web Storage API включает два объекта: localStorage и sessionStorage. Оба объекта работают схожим образом и предоставляют следующие методы: Рассмотрим пример, где мы сохраняем имя пользователя в localStorage и выводим его при каждом новом посещении страницы. В этом примере: Теперь давай
Оглавление
web storage API preview
web storage API preview

Введение:
Web Storage API предоставляет разработчикам простой способ хранить данные прямо в браузере пользователя. Это особенно полезно для сохранения настроек, предпочтений или временных данных, которые не должны исчезать при обновлении страницы. В этой статье мы рассмотрим два ключевых инструмента
Web Storage APIlocalStorage и sessionStorage — и разберем их возможности и различия на примерах.

Что такое Web Storage API?

Web Storage API — это встроенный в браузеры API, который позволяет хранить пары "ключ-значение" на клиентской стороне. В отличие от cookie, данные, сохраненные с помощью Web Storage, не отправляются на сервер при каждом запросе, что делает их более удобными для хранения информации, предназначенной для браузера. Web Storage API включает два объекта: localStorage и sessionStorage.

В чем разница между localStorage и sessionStorage?

  • localStorage — позволяет хранить данные без ограничения по времени. Информация остается доступной даже после закрытия браузера или перезагрузки устройства, пока её не удалит сам пользователь или скрипт.
  • sessionStorage — хранит данные в рамках одной сессии. Данные удаляются при закрытии вкладки или окна браузера.

Оба объекта работают схожим образом и предоставляют следующие методы:

  • setItem(key, value) — сохраняет значение под определенным ключом.
  • getItem(key) — получает значение по ключу.
  • removeItem(key) — удаляет значение по ключу.
  • clear() — очищает все данные из хранилища.

Пример использования localStorage

Рассмотрим пример, где мы сохраняем имя пользователя в localStorage и выводим его при каждом новом посещении страницы.

Пример использования localStorage
Пример использования localStorage

В этом примере:

  • При первом посещении страницы пользователь вводит своё имя, и оно сохраняется в localStorage.
  • При следующем посещении страницы браузер проверяет наличие данных в localStorage и, если имя уже сохранено, выводит приветственное сообщение.

Пример использования sessionStorage

Теперь давайте создадим пример с sessionStorage. В этом случае данные будут храниться только в текущей сессии. Мы создадим счетчик посещений страницы, который сбрасывается при закрытии вкладки.

Пример использования sessionStorage
Пример использования sessionStorage

В этом примере:

  • Если вкладка открывается впервые, счетчик инициализируется как 1.
  • При обновлении страницы счетчик увеличивается, показывая количество посещений этой страницы за текущую сессию.

Советы и лучшие практики

  • Сохраняйте только текстовые данные: Web Storage позволяет хранить данные только в виде строк, поэтому сложные объекты нужно конвертировать в JSON при записи и обратно в объект при чтении.
Сохраняйте только текстовые данные
Сохраняйте только текстовые данные

  • Не храните чувствительные данные: Web Storage не защищен от доступа через JavaScript, поэтому не храните в нем пароли или другую конфиденциальную информацию.
  • Регулярно очищайте хранилище: Если данные больше не нужны, удаляйте их с помощью removeItem() или clear().
  • Проверяйте поддержку Web Storage API: хотя большинство современных браузеров поддерживают Web Storage, полезно проверять его наличие.
Проверяйте поддержку Web Storage API
Проверяйте поддержку Web Storage API

Заключение

Web Storage API — это простой, но полезный инструмент для хранения данных в браузере, позволяющий улучшить работу с пользователями и повысить удобство использования сайтов. Зная разницу между localStorageи sessionStorage, можно гибко выбирать, когда и как сохранять информацию на стороне клиента. Надеюсь, эта статья помогла вам разобраться в основах Web Storage и вдохновила на эксперименты с ним в ваших проектах!