Справочник функций

Ваш аккаунт

Логин:
Пароль:
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:
Убрать блок ВКонтакте навсегда

Последние темы форума

Показать новые сообщения »

Почтовая рассылка



Подписчиков: 19086
Последний выпуск: 12.01.2012

Работа с 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
Мне нравитсяМне не нравится

Спасибо, статья сильно помогла
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог