Введение в JavaScript

Cookies


Волшебные ключики, или cookies, не являются полями формы, но, тем не менее, отойдя от строгого рассмотрения иерархии объектов JavaScript, мы уделим им немного внимания, как одному из механизмов управления обменом данных. Основная функция cookie — поддержка сеанса работы между клиентом (браузером) и сервером.

cookie — это небольшой фрагмент текста, который передается от сервера браузеру и потом может быть возвращен обратно. Подробно о cookie рассказано в "Спецификации Cookie", которую можно найти в главе "Дополнения". Программа на JavaScript способна прочитать выставленное значение cookie и даже изменить его. Для этой цели используют свойство объекта DOCUMENT — cookie:

<FORM> <INPUT TYPE=button VALUE="Показать Cookies" onClick="window.alert(window.document.cookie);"> </FORM>

В данном случае cookies отображаются в виде одной большой строки со множеством значений. Свойство cookie документа можно переопределить:

function asign() { document.cookie="n1=3"; window.alert(document.cookie); } ... <FORM> <INPUT TYPE=button VALUE="Изменить n1" onClick="asign()"> </FORM>

Как видно из примера, программисту не нужно выделять cookie из строки. Браузер рассматривает cookies как ассоциированный массив (хеш) и изменяет значение cookie по имени "ключика".

Наконец, cookie можно удалить. Если быть более точным — деактивировать, указав время его действия:

function change_cookies() { a = new Array(); c = new Date(); a = document.cookie.split(';'); document.cookie=a[0]+"; expires="+c.toGMTString()+";"; window.alert(document.cookie); } ... <FORM> <INPUT TYPE=button VALUE="delete cookies" onClick="change_cookies()"> </FORM>

В данном случае мы "удаляем" cookie за счет параметра expire (времени, до которого cookie живет). Так как мы берем текущее время, то cookie исчезает из списка "ключиков". Многократно нажимая на кнопку, можно удалить все cookies для данной страницы.



Содержание раздела