Создание 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.



Постоянные ссылки

При копировании ссылка на TeaM RSN обязательна!

URI

Html (ЖЖ)

BB-код (Для форумов)

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.