Работа с cookies в Javascript
Данные функции Javascript позволяют работать с переменными cookies - устанавливать и получать значение необходимой переменной. В языке Javascript нет стадартных функций для этого, однако при разработке иногда возникает необходимость в этих функциях. Я решил поделиться своими функциями.
Эти функции работают с Javascript-объектом document.cookie. Для установки переменной cookies, это переменной присваивается строка вида
name=value; path=/; expires=Mon, 01-Jan-1970 00:00:00 GMT
Указывается имя переменной (name), значение (value), область страниц на которых она доступна (Например, /), а также дата, когда истекает срока действия этой переменной (Например, Mon, "01-Jan-1970 00:00:00 GMT").
Для получения значения переменной cookies нужно в объекте document.cookie найти нужную переменную. Там они хранятся в виде строки:
name=value;name=value;name=value;
Установка переменной cookies
function setCookie(name, value, expiredays, path, domain, secure) {
if (expiredays) {
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
var expires = exdate.toGMTString();
}
document.cookie = name + "=" + escape(value) +
((expiredays) ? "; expires=" + expires : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
}
Получение значения переменной cookies
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;
}
Пример использования
setCookie("username", "Test", 30, "/");
// Установит переменную username в значение "Test".
// Срок действия переменной 30 дней, доступна с любой страницы этого сайта
var user = getCookie("username");
// Вернёт значение "Test"
- MySQL: Триггеры в MySQL
- PHP: CSSTidy - эффективное сжатие CSS
- JavaScript: Работа с cookies в Javascript
- Сервисы: Ajaxload - сервис для создания индикаторов
- PHP: date() по-русски