JavaScript. Подробное руководство, 6-е издание, стр. 339
Механизм
<b>userData</b><b>localStorage</b><b>sessionStorage</b>Пример 20.3 реализует методы
<b>getltem(), setltem()</b><b>removeltem()</b><b>Storage</b><b>userData</b><b>кеу()</b><b>clear()</b><b>userData</b>Пример 20.3. Частичная реализация интерфейса <b>Storage</b><b>userData</b>
<b>function UserDataStorage(maxage) {</b><b> // Создать элемент документа и установить в нем специальное</b><b> // свойство behavior механизма userData, чтобы получить доступ</b><b> // к методам save() и load().</b><b> var memory = document.createElement("div"); // Создать элемент</b><b> memory.style.display = ''none"; // He отображать его</b><b> memory.style.behavior = "url('#default#userData')"; // Присоединить свойство behavior </b><b> document.body.appendChild(memory); // Добавить в документ</b><b> // Если указано значение параметра maxage, хранить данные maxage секунд</b><b> if (maxage) {</b><b> var now = new Date().getTime(); // Текущее время</b><b> var expires = now + maxage * 1000; // maxage секунд от текущего времени</b><b> memory.expires = new Date(expires).toUTCString();</b><b> }</b><b> // Инициализировать хранилище, загрузив сохраненные значения.</b><b> // Значение аргумента выбирается произвольно, но оно должно совпадать</b><b> // со значением, переданным методу save()</b><b> memory.load("UserDataStorage”); // Загрузить сохраненные данные</b><b> this.getltem = function(key) { // Загрузить значения атрибутов</b><b> return memory.getAttribute(key) || null;</b><b> };</b><b> this.setltem = function(key, value) {</b><b> memory.setAttribute(key,value); // Сохранить значения как атрибуты</b><b> memory.save("UserDataStorage"); // Сохранять после любых изменений</b><b> };</b><b> this.removeltem = function(key) {</b><b> memory.removeAttribute(key); // Удалить сохраненные значения</b><b> memory.save("UserDataStorage"); // Сохранить новое состояние</b><b> };</b><b>}</b>Поскольку программный код из примера 20.3 будет работать только в IE, можно воспользоваться условными комментариями IE, чтобы предотвратить его загрузку в броузерах, отличных от IE:
<b><!—[if IЕ]> </b><b> <script src="UserDataStorage.js"></script> </b><b><![endif]--> </b>20.4. Хранилище приложений и автономные веб-приложения
Стандарт HTML5 определяет новую особенность «кэш приложений» (application cache), которая может использоваться веб-приложениями для сохранения самих себя локально в броузере пользователя. Объекты
<b>localStorage</b><b>sessionStorage</b>Основная причина необходимости установки веб-приложений локально заключается в обеспечении их доступности при работе в автономном режиме (например, в самолете или когда сотовый телефон находится вне доступа к сети). Веб-приложения, способные работать автономно, устанавливают себя в кэш приложений, используют
<b>localStorage</b>20.4.1. Объявление кэшируемого приложения
Чтобы установить приложение в кэш приложений, необходимо создать файл объявления: файл, перечисляющий URL всех ресурсов, необходимых приложению. Затем нужно просто добавить ссылку на файл объявления в основную HTML-страницу приложения, определив атрибут
<b>manifest</b><b><html></b><b><!DOCTYPE HTML></b>