САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ
×

HTML5 Учебник

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

HTML Формы

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

HTML5

HTML5 ВведениеHTML5 ПоддержкаHTML5 Новые ЭлементыHTML5 СемантикаHTML5 МиграцияHTML5 Синтасис

HTML Графика

HTML CanvasHTML SVGHTML Google Карта

HTML Медиа

HTML МедиаHTML ВидеоHTML АудиоHTML ОбъектыHTML YouTube

HTML API

HTML ГеолокацияHTML ПеретаскиваниеHTML Веб ХранилищеHTML Веб РаботникHTML СОС

HTML Примеры

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

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

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

HTML Веб Хранилище



Локальное хранилище HTML; лучше, чем файлы cookie.


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

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

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

В отличие от cookies, лимит хранения намного больше (не менее 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");
Редактор кода »

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

  • Создайте localStorage пары имя/значение 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) в этой сессии.";
Редактор кода »