воскресенье, 10 октября 2010 г.

[блогеру на заметку] Установка, чтение и удаление cookie средствами JavaScript

Методы для работы с cookie из JavaScript:
function setCookie(name, value, expires, path, domain, secure) {
    if (!name || !value) return false;
    var str = name + '=' + encodeURIComponent(value);
    
    if (expires) str += '; expires=' + expires.toGMTString();
    if (path)    str += '; path=' + path;
    if (domain)  str += '; domain=' + domain;
    if (secure)  str += '; secure';
    
    document.cookie = str;
    return true;
}

function getCookie(name) {
    var pattern = "(?:; )?" + name + "=([^;]*);?";
    var regexp  = new RegExp(pattern);
    
    if (regexp.test(document.cookie))
    return decodeURIComponent(RegExp["$1"]);
    
    return false;
}

function deleteCookie(name, path, domain) {
    setCookie(name, null, new Date(0), path, domain);
    return true;
}
Пример использования. Сериализация одномерного массива в cookie:
// Получаем текущее время и дату.
var d = new Date();
// Увеличиваем дату на 6 месяцев.
d.setMonth(d.getMonth() + 6);
// Сохраняем массив current_color в cookie current_color на 6 месяцев.
setCookie('current_color', current_color.join(','), d);
Чтение cookie и десериализация массива:
var color = getCookie('current_color');
if (color) {
    eval('current_color = [' + color + ']');
}

10 комментариев

Realdreamy

Исправь код.
if (!name || !value) return false; надо изсенить на
if (!name || value!==undefined) return false;

Иначе deleteCookie не рабоботает.

Realdreamy

=) Сам накосячил) value===undefined)

Анонимный

Девочки хватит спорить, функцию для удаления кук почти никто не юзает, я обычно в ней переписываю срок действия, так это уже таже функция установки куки...

Анонимный

как его скачать этот куки

Анонимный

здесь есть кто нибудь

Анонимный

Конечно есть! Я тут!

Анонимный

И я, и я.

Master NikTo

и я)

Анонимный

нгшщ

sm0ke_d

Как скачать куки? Смешно. Он у тебя уже в кэше браузер лежит.

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