ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

HTML учебник

HTML HOME HTML Introduction HTML Editors HTML Basic HTML Elements HTML Attributes HTML Headings HTML Paragraphs HTML Styles HTML Formatting HTML Quotations HTML Comments HTML Colors HTML CSS HTML Links HTML Images HTML Tables HTML Lists HTML Blocks HTML Classes HTML Id HTML Iframes HTML JavaScript HTML File Paths HTML Head HTML Layout HTML Responsive HTML Computercode HTML Entities HTML Symbols HTML Charset HTML URL Encode HTML XHTML

HTML Forms

HTML Forms HTML Form Elements HTML Input Types HTML Input Attributes

HTML5

HTML5 Intro HTML5 Support HTML5 New Elements HTML5 Semantics HTML5 Migration HTML5 Style Guide

HTML Graphics

HTML Canvas HTML SVG HTML Google Maps

HTML Media

HTML Media HTML Video HTML Audio HTML Plug-ins HTML YouTube

HTML APIs

HTML Geolocation HTML Drag/Drop HTML Web Storage HTML Web Workers HTML SSE

HTML Examples

HTML Examples HTML Accessibility

HTML References

HTML Tag List HTML Attributes HTML Events HTML Colors HTML Canvas HTML Audio/Video HTML Doctypes HTML Character Sets HTML URL Encode HTML Lang Codes HTTP Messages HTTP Methods PX to EM Converter Keyboard Shortcuts


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


Веб-хранилище HTML; лучше, чем печенье.


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

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

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

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

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


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

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

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

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

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

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

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

if (typeof(Storage) !== "undefined") {
    // Code for localStorage/sessionStorage.
} else {
    // Sorry! No Web Storage support..
}


Объект localStorage

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

Пример

// Store
localStorage.setItem("lastname", "Smith");
// Retrieve
document.getElementById("result").innerHTML = localStorage.getItem("lastname");

Example explained:

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

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

// Store
localStorage.lastname = "Smith";
// Retrieve
document.getElementById("result").innerHTML = localStorage.lastname;

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

localStorage.removeItem("lastname");

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

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

Пример

if (localStorage.clickcount) {
    localStorage.clickcount = Number(localStorage.clickcount) + 1;
} else {
    localStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "You have clicked the button " +
localStorage.clickcount + " time(s).";

Объект sessionStorage

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

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

Пример

if (sessionStorage.clickcount) {
    sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1;
} else {
    sessionStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "You have clicked the button " +
sessionStorage.clickcount + " time(s) in this session.";