terça-feira, 8 de novembro de 2011

Manipular Cookies com JavaScript

Olá galera, nesta postagem quero deixar um objeto em javascript com algumas funções para manipular cookies.
Logo abaixo deixei umm breve descrição de cada funcão e um exemplo de como utilizar.

Cookie.read
Le o valor de um cookie de acordo com o parâmetro passado

Cookie.readJSON
Le o valor de um cookie no formato JSON e retorna um objeto

Cookie.readBool
Le o valor de um cookie de acordo com o parâmetro passado e retorna um tipo boolean

Cookie.write
Grava um cookie, os parâmetros permitidos são o nome, valor e número de dias para expirar

Cookie.clear
Limpa um cookie de acordo com o nome passado

Cookie = {
    read : function(name) {
        var regExp = new RegExp(name+"=([^;]+)");
        var matches = regExp.exec(document.cookie);
        return matches ? matches[1] : null;
    },
    readJSON : function(name) {
        var value = this.read(name);
        return value != null ? new Function("return "+value) : [];
    }, 
    readBool : function(name) {
        var value = this.read(name);
        return /^(true|t|1)$/i.test(value) ? true : (/^(false|f|0)$/i.test(value) ? false : null);
    }, 
    write : function(name, value, expireDays) {
        var date = new Date();
        var expires = "";
        if (expireDays) {
            date.setTime(date.getTime() + (expireDays * 24 * 60 * 60 * 1000));
            expires = "; expires="+date.toGMTString();
        }
        if (typeof(value) == "object") value = ObjectUtils.json_encode(value);
            document.cookie = name+"="+value+expires+";"; 
            return document.cookie;  
        },
    clear : function(name) {
        var date = new Date();
        date.setTime(date.getTime() - 86400);
        document.cookie = name+"=; expires="+date.toGMTString()+";";  
        return document.cookie; 
    }
};