Логотип schoolsw3.com
Учебники Справочники Упражнения КАК? Меню
ЯМаркет
Редактор Поддержка Форум

×
Учебники
Справочники
Упражнения
Пожертвовать Обновление Реклама Видео Магазин

HTML Учебник

HTML Главная HTML Введение HTML Редактор кода HTML Основы HTML Элементы HTML Атрибуты HTML Заголовки HTML Параграфы HTML Стили HTML Форматирование HTML Цитаты HTML Комментарий HTML Цвет HTML с CSS HTML Ссылки HTML Изображения HTML Иконка HTML Таблицы HTML Списки HTML Блоки HTML Классы HTML Идентификаторы HTML Фреймы HTML с JavaScript HTML Путь к файлу HTML Мета теги HTML Макет HTML Адаптивный дизайн HTML Компьютерный код HTML Семантика HTML Синтаксис HTML Сущность HTML Символы HTML Эмодзи HTML Кодировка HTML URL Кодировка HTML в XHTML

HTML Формы

HTML Формы HTML Атрибуты формы HTML Элементы форм HTML Типы ввода форм HTML Атрибуты ввода HTML Атрибуты ввода форм

HTML Графика

HTML Холст HTML SVG

HTML Медиа

HTML Медиа HTML5 Видео HTML5 Аудио HTML Плагины HTML YouTube

HTML APIы

HTML5 Геолокация HTML5 Перетаскивание HTML5 Веб хранилище HTML5 Веб работник HTML5 SSE

HTML Примеры

HTML Примеры HTML Викторина HTML Упражнения HTML Сертификат HTML Заключение HTML Специальные возможности

HTML Справочники

HTML Список тегов HTML Атрибуты тегов HTML Глобальные атрибуты HTML Поддержка браузера HTML События атрибутов HTML Цвета HTML Canvas HTML Аудио/Видео HTML Типы документов HTML Наборы символов HTML URL Кодировка HTML Коды языка HTML Коды стран HTTP Сообщения HTTP Методы Конвертер PX в EM Комбинации клавиш

HTML5 Веб хранилище API



HTML Веб хранилище; лучше, чем файлы cookie.

Что такое HTML веб хранилище?

С помощью веб хранилища, веб приложения могут сохранять данные локально в браузере пользователя.

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

В отличие от файлов cookie, лимит хранения намного больше (не менее 5 Мб), и информация никогда не передается на сервер.

Веб хранилище предназначено для каждого источника (для каждого домена и протокола). Все страницы из одного источника могут хранить и получать доступ к одним и тем же данным.


Поддержка браузеров

Цифры в таблице указывают первую версию браузера, которая полностью поддерживает веб хранилище.

API
Веб хранилище 4.0 8.0 3.5 4.0 11.5

Объекты веб хранилища HTML

HTML веб хранилище предоставляет два объекта для хранения данных клиента:

  • window.localStorage - хранит данные без срока годности
  • window.sessionStorage - сохраняет данные за один сеанс (данные теряются при закрытии вкладки браузера)

Перед использованием веб хранилища проверьте поддержку браузером localStorage и sessionStorage:

if (typeof(Storage) !== "undefined") {
  // Код для localStorage/sessionStorage.
} else {
  // Прости! Нет поддержки веб хранилища.
}


Объект localStorage

Объект localStorage хранит данные без даты истечения срока действия. Данные не будут удалены при закрытии браузера и будут доступны на следующий день, неделю или год.

Пример
// Хранить
localStorage.setItem("lastname", "Smith");

// Извлечь
document.getElementById("result").innerHTML = localStorage.getItem("lastname");
Попробуйте сами »

Объяснение примера:

  • Создайте пару имя/значение локального хранилища с помощью name="lastname" и value="Smith"
  • Получить значение "lastname" и вставьте его в элемент с помощью id="result"

Приведенный выше пример также можно было бы написать так:

// Хранить
localStorage.lastname = "Smith";
// Извлечь
document.getElementById("result").innerHTML = localStorage.lastname;

Синтаксис для удаления "lastname" элемент localStorage выглядит следующим образом:

localStorage.removeItem("lastname");

Примечание: Пары имя/значение всегда хранятся в виде строк. Не забудьте конвертировать их в другой формат, если это необходимо!

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

Пример
if (localStorage.clickcount) {
  localStorage.clickcount = Number(localStorage.clickcount) + 1;
} else {
  localStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "Вы нажали на кнопку " +
localStorage.clickcount + " time(s).";
Попробуйте сами »

Объект sessionStorage

Объект sessionStorage объект равен объекту localStorage, кроме того, что он хранит данные только для одного сеанса. Данные удаляются, когда пользователь закрывает определенную вкладку браузера.

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

Пример
if (sessionStorage.clickcount) {
  sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1;
} else {
  sessionStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "Вы нажали на кнопку " +
sessionStorage.clickcount + " time(s) в этой сессии.";
Попробуйте сами »