Cookie //Repositório JavaScript

Descrição

Objeto para gerenciar cookies.
Criado: 2006.04.24

Código (Download)

//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/geral/cookie [rev. #1]

Cookie = {
    isSupported: function(){
        return !!navigator.cookieEnabled;
    },
    exists: function(name){
        return document.cookie.indexOf(name + "=") + 1;
    },
    write: function(name, value, expires, path, domain, secure) {
        expires instanceof Date ? expires = expires.toGMTString()
        : typeof(expires) == 'number' && (expires = (new Date(+(new Date) + expires * 1e3)).toGMTString());
        var r = [name + "=" + escape(value)], s, i;
        for(i in s = {expires: expires, path: path, domain: domain})
            s[i] && r.push(i + "=" + s[i]);
        return secure && r.push("secure"), document.cookie = r.join(";"), true;
    },
    read: function(name){
        var c = document.cookie, s = this.exists(name), e;
        return s ? unescape(c.substring(s += name.length, (c.indexOf(";", s) + 1 || c.length + 1) - 1)) : "";
    },
    remove: function(name, path, domain){
        return this.exists(name) && this.write(name, "", new Date(0), path, domain);
    }
};

Exemplo (Exemplo)

<script type="text/javascript">
//<![CDATA[
var n = "TEST";
document.write(
    "Cookies supported: ", Cookie.isSupported(), "<br />",
    'Writing cookie "' + n + '" = ', Cookie.write(n, "1234567890"), "<br />",
    'Cookie exists "' + n + '" = ', Cookie.exists(n) != 0, "<br />",
    'Reading cookie "' + n + '" = ', Cookie.read(n), "<br />",
    'Removing cookie "' + n + '" = ', Cookie.remove(n), "<br />",
    'Cookie exists "' + n + '" = ', Cookie.exists(n) != 0
);

//]]>
</script>

Ajuda

Métodos

Cookie.isSupported(void): Boolean
Retorna true apenas se o browser suportar a gravação, leitura e remoção de cookies.
Cookie.write(name: String, value: String, [expires: Object = AT_END_OF_SESSION], [path: String = CURRENT_PATH], [domain: String = CURRENT_DOMAIN], [secure: Boolean = false]): Boolean
Grava o cookie no browser.
name
nome do cookie
value
informação que será guardada no browser
expires
define o tempo de vida do cookie no browser, se nada for passado, o cookie será mantido até o usuário fechar o browser, pode recebe um objeto Date especificando a data de expiração ou um número indicando a quantidade de segundos que o cookie deverá ser mantido
path
define o caminho (em termos de url) em que o cookie estará acessível
domain
define o domínio para qual o cookie estará acessível
secure
indica se o cookie deve ser transmitido sobre uma conexão segura HTTPS, quando for definido em true, o cookie só será gravado se existir uma conexão segura
Cookie.exists(name: String): Boolean
Retorna true se o cookie existe.
name
nome do cookie
Cookie.read(name: String): String
Se o cookie existir, returna o valor guardado nele, caso contrário retorna uma string vazia.
name
nome do cookie
Cookie.remove(name: String, [path: String = CURRENT_PATH], [domain: String = CURRENT_DOMAIN]): Boolean
Remove o cookie.
name
nome do cookie
path
define o caminho (em termos de url) em que o cookie está acessível
domain
define o domínio para qual o cookie está acessível

Ranque (Votos: 17)

3.71