Полный цикл в digital

Куки

Одну из возможностей сохранения данных в javascript представляет использование куки. Для работы с куками в объекте document предназначено свойство cookie.

Для установки куков достаточно свойству document.cookie присвоить строку с куками:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<script>
document.cookie = "login=tom32;";
</script>
</body>
</html>

В данном случае устанавливается кука, которая называется login и которая имеет значение tom32. В браузере можно ее посмотреть, узнать всю информацию о ней и в дальнейшем ее можно использовать в приложении.

Строка куки принимает до шести различных параметров:

  • Имя куки
  • Значение куки
  • path URL-префикс пути, куки будут доступны для страниц под этим путём. Должен быть абсолютным. По умолчанию используется текущий путь. Если куки установлено с path=/admin, то оно будет доступно на страницах /admin и /admin/something, но не на страницах /home или /adminpage. Как правило, указывают в качестве пути корень path=/, чтобы наше куки было доступно на всех страницах сайта
  • domain домен на котором доступны наши куки. На практике, однако, есть ограничения – мы не можем указать здесь какой угодно домен. По умолчанию куки доступно лишь тому домену, который его установил. Так что куки, которые были установлены сайтом site.com, не будут доступны на сайте other.com, мы не сможем получить эти куки на поддомене forum.site.com
  • expires если куки не имеют этого параметра, они удалятся при закрытии браузера. Такие куки называются сессионными. Чтобы помочь куки пережить закрытие браузера, мы можем установить значение опций expires или max-age
  • secure куки следует передавать только по HTTPS-протоколу. По умолчанию куки, установленные сайтом http://site.com, также будут доступны на сайте https://site.com и наоборот. Таким образом, если в куки хранится конфиденциальная информация, которую не следует передавать по незашифрованному протоколу HTTP, то нужно установить этот флаг

Куки имеет очень ограниченный срок жизни: если явным образом не установить срок действия, то кука будет удалена с закрытием браузера. Подобная ситуация, возможно, идеальна для тех случаев, когда необходимо удалять всю информацию после завершения работы с веб-приложением и закрытия браузера. Однако данное поведение не всегда подходит, в этом случае нам надо установить параметр expires, то есть срок действия куков:

document.cookie = "login=tom32;expires=Mon, 31 Aug 2015 00:00:00 GMT;";

Срок действия куки login истекает в понедельник 31 августа 2015 года в 00:00. Формат параметра expires очень важен, его можно сгенерировать программно. Для этого мы можем использовать метод toUTCString() объекта Date, в данном случае срок действия куки будет составлять 4 часа:

var expire = new Date();
expire.setHours(expire.getHours() + 4);
document.cookie = "login=tom32;expires=" + expire.toUTCString() + ";";

Если нам надо установить куки для какого-то определенного пути на сайте, мы можем использовать параметр path. Например, мы хотим установить куки только для пути www.mysite.com/home, в этом случае для других путей на сайте, эти куки будут недоступны:

document.cookie = "login=tom32;expires=Mon, 31 Aug 2015 00:00:00 GMT;path=/home;";

Если на нашем сайте есть несколько доменов и мы хотим установить куки непосредственно для определенного домена, тогда можно использовать параметр domain. Например, у нас на сайте есть поддомен blog.mysite.com. Параметр path=/ указывает, что куки будут доступны для всех директорий и путей поддомена blog.mysite.com:

document.cookie = "login=tom32;expires=Mon, 31 Aug 2015 00:00:00 GMT;path=/;domain=blog.mysite.com;";

Последний параметр - secure задает использование SSL и подходит для сайтов, использующих протокол https. Если значение этого параметра равно true, то куки будут использоваться только при установке защищенного соединения ssl. По умолчанию данный параметр равен false:

document.cookie = "login=tom32;expires=Mon, 31 Aug 2015 00:00:00 GMT;path=/;domain=blog.mysite.com;secure=true;";

Получение куки

Для простейшего извлечения куки из браузера достаточно обратиться к свойству document.cookie:

var expire = new Date();
expire.setHours(expire.getHours() + 4);
document.cookie = "city=Berlin;expires="+expire.toUTCString()+";";
document.cookie = "country=Germany;expires="+expire.toUTCString()+";";
document.cookie = "login=tom32;";
document.write(document.cookie);

Здесь были установлены три куки, и браузер выведет нам все эти куки. Извлеченные куки не включают параметры expires, path, domain, secure. Кроме того, сами куки разделяются точкой с запятой, поэтому нужно еще провести некоторые преобразования, чтобы получить их имя и значение:

var cookies = document.cookie.split(";");
for(var i=0; i");
document.write("Значение: " + value + "

"); }
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг