Cookie используются для того, чтобы сохранять информацию о пользователе. Например, мы можем определить посещал ли пользователь ресурс в течении определенного времени и в зависимости от этого показывать ему какую-либо информацию. Для работы с cookie нам понадобятся три функции.
Функция createCookie, которая создает cookie:
function createCookie(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
} else {
expires = "";
}
document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/";
}
Функция createCookie получает аргументы: name – название cookie; value – его значение; days – количество дней в течении которых cookie будет храниться.
Создадим функцию, которая читает значение cookie – readCookie:
function readCookie(name) {
var nameEQ = encodeURIComponent(name) + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) === ' ')
c = c.substring(1, c.length);
if (c.indexOf(nameEQ) === 0)
return decodeURIComponent(c.substring(nameEQ.length, c.length));
}
return null;
}
И функцию, которая удаляет cookie - eraseCookie:
function eraseCookie(name) {
createCookie(name, "", -1);
}
Создадим cookie:
createCookie('testCookie', 'testValue', 10);
Мы создали cookie testCookie со значением testValue, которые удалятся по прошествии 10 дней.
Можно создать cookie, которые будут храниться только в течении сессии, то есть до тех пор пока пользователь не закроет браузер (не окно с сайтом, а браузер). Для этого нужно не указывать последний аргумент:
createCookie('testCookie', 'testValue');
Прочитаем cookie:
readCookie('testCookie');
А теперь удалим cookie:
eraseCookie('testCookie');
« список статей