Работа с Cookies на JavaScript
Создание cookies в JavaScript
JavaScript поддерживает встроенный объект с именем document.cookie для работы с кукисам. Этот объект хранит все кукисы, доступные для страницы, с которой запущен скрипт.
Если вставить значение в document.cookie, то будет создан кукис:
<SCRIPT LANGUAGE="JavaScript"> document.cookie="foo=bar; path=/; expires=Mon, 01-Jan-2001 00:00:00 GMT"; </SCRIPT>
Для работы с кукисами можно воспользоваться функций SetCookie:
<SCRIPT LANGUAGE="JavaScript">
function setCookie (name, value, expires, path, domain, secure) {
document.cookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
}
</SCRIPT>
Значения name и value являются обязательными, а остальные не обязательны. Ниже приведён пример использования этой функции:
<SCRIPT LANGUAGE="JavaScript">
setCookie("foo", "bar", "Mon, 01-Jan-2001 00:00:00 GMT", "/");
</SCRIPT>
Функция SetCookie довольно универсальна, в тех случаях, когда нужно создать много кукисов, либо когда требуется устанавливать параметры на лету.
Получение значения cookies в JavaScript
Для получения значения кукисов в JavaScript, можно воспользоваться document.cookie. Обычно, document.cookie имеет строку следующего формата:
foo=bar;this=that;somename=somevalue;.....
Эта строка содержит пары имя=значение, разделённые точкой с запятой. Ниже приведена функция getCookie(), которая позволяет осуществить разбор параметров этой строки:
function getCookie(name) {
var cookie = " " + document.cookie;
var search = " " + name + "=";
var setStr = null;
var offset = 0;
var end = 0;
if (cookie.length > 0) {
offset = cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = cookie.indexOf(";", offset)
if (end == -1) {
end = cookie.length;
}
setStr = unescape(cookie.substring(offset, end));
}
}
return(setStr);
}
Вот пример использования этой функции:
myVar = GetCookie("foo");
В данном случае значение переменной myVar будет равно bar.
Оставить комментарий
Оставлять комментарии могут только зарегистрированные пользователи.
Если вы не являетесь зарегистрированным пользователем, то вам необходимо зарегистрироваться. Регистрация бесплатна. Если вы уже зарегистрированы на CodeNet, то вам необходимо ввести логин и пароль в верхней (Alt-U) части страницы.
Комментарии
1. galo4kin / 16 октября 2008, 21:07:58+1 / -2

Статья действительно помогла - спасибо.

Вот только для уточнения, скажите как передать функции дату (допустим), чтобы кукиса прослужила месяц
и еще... а как удалить кукисы то?! мне при работе переодически нужно обнулять и добавлять их.
2. Xal / 25 октября 2007, 15:09:57+1 / -2

А можно ли вместо куков использовать регистрацию сессий, как это происходит в PHP, без JSHttpRequest?


3. Helllen / 14 августа 2007, 15:58:20+1 / -1

Статья что надо! Спасибо


4. вялый / 12 июня 2007, 15:17:27+0 / -1

А почему в первом примере идёт path, expires;

А во втором expires, path ?
5. Денис / 12 марта 2006, 22:02:11+1 / -1

Вот написал интернет магазин на javasript, теперь нада cookie использовать, на php есть тема, но прикольнее все на JS замутить, тока где-то читал, что не все Броузеры понимают JS запись.чтение кукисов...


6. CMEPTHuK / 25 января 2006, 14:26:29+0 / -2

пасиба автору, статья - тема

7. Вадим / 17 января 2006, 14:48:26+1 / -1

Спасибо, статья сильно помогла


