JavaScript. Подробное руководство, 6-е издание, стр. 338
<b> // Добавить в строку атрибуты cookie</b><b> if (maxage) cookie += ";</b><b> max-age=" + maxage;</b><b> if (path) cookie += ";</b><b> path=" + path;</b><b> // Установить cookie с помощью свойства document.cookie</b><b> document.cookie = cookie;</b><b>}</b><b>// Удаляет указанный cookie</b><b>this.removeItem = function(key) {</b><b> if (!(key in cookies)) return; // Если не существует, ничего не делать</b><b> // Удалить cookie из внутреннего множества cookies</b><b> delete cookies[key];</b><b> // И удалить ключ из массива имен.</b><b> // Это легко можно было бы сделать с помощью метода indexOf() массивов,</b><b> // определяемого стандартом ES5.</b><b> for(var і = 0; і < keys.length; i++) { // Цикл по всем ключам</b><b> if (keys[i] === key) { // При обнаружении ключа</b><b> keys.splice(i,1); // Удалить его из массива,</b><b> break;</b><b> }</b><b> }</b><b> this.length--; // Уменьшить значение length</b><b> // Наконец фактически удалить cookie, присвоив ему пустое значение</b><b> // и истекший срок хранения.</b><b> document.cookie = key + "=; max-age=0";</b><b>};</b>20.3. Механизм сохранения userData в IE
В IE версии 5 и ниже поддерживается механизм сохранения данных на стороне клиента, доступный в виде нестандартного свойства
<b>behavior</b><b>var memory = document.createElement("div"); // Создать элемент</b><b>memory.id = "_memory”; // Дать ему имя</b><b>memory.style.display = "none"; // He отображать его</b><b>memory.style.behavior = "url('#default#userData')"; // Присоединить свойство </b><b>document.body.appendChild(memory); // Добавить в документ</b>После того как для элемента будет определено поведение «userData», он получает новые методы
<b>load()</b><b>save().</b><b>load()</b><b>getAttribute()</b><b>setAttribute()</b><b>save().</b><b>removeAttribute()</b><b>save().</b><b>memory</b><b>memory.load("myStoredData"); // Загрузить сохраненные данные</b><b>var name = memory.getAttribute("username"); // Получить элемент данных </b><b>if (!name) { // Если он не был определен,</b><b> name = prompt("Как вас зовут?); // запросить у пользователя</b><b> memory.setAtttribute("username", name); // Установить как атрибут</b><b> memory.save("myStoredData"); // И сохранить до следующего раза</b><b>}</b>По умолчанию данные, сохраняемые с помощью механизма
<b>userData</b><b>expires</b><b>var now = (new Date()).getTime(); // Текущее время в миллисекундах</b><b>var expires = now + 100 * 24 * 60 * 60 * 1000; // + 100 дней в миллисекундах</b><b>expires = new Date(expires).toUTCString(); // Преобразовать в строку</b><b>memory.expires = expires; // Установить срок хранения</b>Данные, сохраняемые с помощью механизма
<b>userData</b><b>userData</b><b>path</b><b>domain</b>