12.07.2015 Views

Реактивные веб-сайты Николай Мациевский Евгений ...

Реактивные веб-сайты Николай Мациевский Евгений ...

Реактивные веб-сайты Николай Мациевский Евгений ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

240РЕАКТИВНЫЕ ВЕБ-САЙТЫAPI cookie, если это так можно назвать, очень примитивное. Посколькуиспользование cookie в браузере можно запрещать, приложению сначалажелательно проверить значение свойства navigator.cookieEnabled.Если его значение — истина, то можно прочитать значениеdocument.cookie.Значение этого свойства представляет собой строку, где записанывсе cookie, объединенные через точку с запятой и пробел. Ключ и значениекаждого cookie объединены через знак «равно», впрочем, из этогоправила бывают исключения: авторам известны случаи, когда InternetExplorer записывал cookie с пустым значением без «равно».У cookie помимо имени есть несколько атрибутов (перечислены поддерживаемыевсеми браузерами):❚ expires — время хранения cookie; если этот атрибут не указан, тоcookie удалится после закрытия окна браузера, где значение этогоcookie было создано. Чтобы удалить cookie, нужно поставить в этополе любую дату прошлого.❚ domain — домен, для которого создается данное значение, остальныедомены могут иметь собственные cookie с тем же именем; еслипараметр не задан, используется текущее имя домена. Допустимыезначения — домен, с которого загружен документ, или поддоменэтого домена.❚ path — путь, для которого создается значение; по умолчанию используетсяпуть текущей страницы. Путь тут трактуется как директория— значение будет существовать и для всех вложенных путей.❚ secure — флаг, наличие которого означает, что данное значениеcookie будет передаваться только по HTTPS.Для того чтобы создать новое значение cookie из скриптового клиентскогоязыка, нужно записать в document.cookie строку видаkey=value; expires=Fri, 31-Dec-2010 23:59:59 GMT; path=/; ↵domain=.example.netКак было сказано выше, все поля, кроме пары «ключ-значение», можноопустить. Точка перед доменом в параметре domain означает, что этозначение будет установлено и для всех доменов выше уровнем. При записинового значения cookie его значение в указанном домене изменится.Идея cookie получила дальнейшее развитие за прошедшие годы,стандарт расширился, но поскольку управление этими расширениямииз клиентских скриптовых языков недоступно, рассматривать их мы небудем.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!