Javascript: Работа с Cookie

В это записи кратко описывается как обращаться к cookie через javascript

Вывести все куки сайта

Используйте в javascript'е код:

alert(document.cookie);

Или напечатайте в адресной строке:

javascript:alert(document.cookie);

имя=значение разделяются парой символов "; ".

Функция получения определенного Cookie

//вернет значение cookie с именем name, если такого нет, то вернет "undefined"
function getCookie(name) {
 var matches = document.cookie.match(new RegExp("(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"));
 return matches ? decodeURIComponent(matches[1]) : undefined;
}

Запись Cookie

document.cookie = "City=Kiev";

Также в cookie можно указывать следующие параметры:

  • path=/blog - указываем для какой папки сайта действует cookie, без указания этого параметра cookie действует для текущей папки и всех ее подпапок. Для всего сайта указывайте path=/
  • domain=elims.org.ua - указываем домен для cookie. Если не указывать, то будет текущий. Можно указать поддомен: domain=test.elims.org.ua или маску, для текущего домена и всех поддоменов: domain=.elims.org.ua
  • expires=Sat, 13 Sep 2042 15:38:42 GMT - указываем время истечения куки. Если не указывать, то куки действительно на время сессии - пока браузер не закроется. Если указывать прошедшее время, то куки удалится.
  • secure - куки передается только по https протоколу.

Примеры:

//Указываем куки с именем nick для всего сайта со сроком действия 120 секунд
var date = new Date(new Date().getTime() + 120 * 1000);
document.cookie = "nick=elimS; path=/; expires=" + date.toUTCString();

// Указываем куки с именем nick для всего сайта со сроком действия 10 суток
var date = new Date;
date.setDate(date.getDate() + 10);
document.cookie = "nick=elimS; path=/; expires=" + date.toUTCString();

//Удаляем cookie с именем nick
var date = new Date(0);
document.cookie = "nick=; path=/; expires=" + date.toUTCString();

Бывает что у посетителей отключены cookie, выяснить можно следующим образом:

if (!navigator.cookieEnabled) {
 alert( 'У Вас отключены cookie, работа сайта ограничена' );
}

 

Понравилось? =) Поделись с друзьями:

Обсудить