Manipulando cookies com jQuery

jqueryTempos atrás era comum ver desenvolvedores passando horas trabalhando em códigos Javascript para tentar incrementar suas aplicações ou buscar soluções alternativas para seus problemas. Não só pelo fato de mais de 50% dos desenvolvedores fazerem uso da linguagem sem de fato estudá-la antes, o Javascript em si carece de uma sintaxe mais amigável e isso faz com que muita gente sinta um certo ódio pela linguagem.

Felizmente com a evolução do desenvolvimento de software, surgiram muitas frameworks para Javascript como o jQuery, que trás uma infinidade de funções que facilitam a vida dos desenvolvedores além de contar com inúmeros plugins. O mais interessante é ver que a vasta gama de plugins existentes não se limita apenas a efeitos e firulas para nossas aplicações, existem solucões extremamente simples para problemas do dia-a-dia, como o jQuery Cookie.

A utilização deste componente é bem fácil e necessita apenas da última versão do jQuery instalado para que ele comece a funcionar:

<script src='jquery.min.js'></script>
<script src='jquery.cookie.js'></script>

A declaração para criar um novo cookie na sessão é bastante simples. O primeiro parâmetro da função é o nome do cookie a ser criado e o segundo seu valor:

jQuery.cookie('usuario_logado', 'sim');

Uma vez o cookie armazenado na sessão, ele será destruído assim que o usuário finalizar seu navegador. Caso você deseje que este fique ativo por mais tempo, podemos definir o tempo de expiração (vamos definir em 7 dias):

jQuery.cookie('usuario_logado', 'sim', { expires: 7 });

Os exemplos acima aplicam o cookie na raiz do website. Porém se você quer aplicar um cookie apenas apartir de um endereço (para que este trate de casos específicos) defina o path (caminho) deste:

jQuery.cookie('usuario_logado', 'sim', { path: '/admin', expires: 7 });

Trabalhar com o cookie já criado na sessão é bastante fácil, você pode acessar e manusear o valor deste a qualquer momento:

alert(jQuery.cookie('usuario_logado'));
if (jQuery.cookie('usuario_logado'))
alert('Usuário logado com sucesso!')

O último passo é deletar o valor do cookie gerado. Para isto, basta você sobreescrever o valor deste para nulo, com isso ele deixará de existir para o navegador e poderá ser escrito novamente quando necessário:

jQuery.cookie('usuario_logado', null);

Um fato interessante é que diferente das variáveis dos Javascript que perdem seu valor a cada execução da página em que se encontram, com os cookies podemos trabalhar com determinados dados em diferentes páginas. Mais uma vantagem da utilização do jQuery.

The Eletric Toolbox

About Flávio Ricardo

Mundialmente conhecido como Ronaldo, sul-mato-grossense e desenvolvedor de software na Catwork, trabalha com PHP e outras coisas nerds.
This entry was posted in JavaScript e jQuery. Bookmark the permalink.

7 Responses to Manipulando cookies com jQuery

  1. Luis Gustavo says:

    Aê cara vc me salvou,

    Parabén pelo excelente e bem explicativo artigo.

    Estava precisando trabalhar com cookies pelo javascript e como já trabalho com jquery procurei por algo que facilitasse a vida, algo como um plugin. Esse me coube legal.

    Obrigado cara, abraço!

  2. Flávio Ricardo says:

    Obrigado!

  3. Julio says:

    parabéns pelo site!
    olha… como eu faço pra abrir uma jquery janela popup modal quando entrar no site a janela teria que abrir… teria também um botão pra fechar esta janela… teria que ter também um cookie para detectar se a propaganda já foi visualizada…. se sim, geraria um cookie de 24 horas, ou seja, a propaganda só seria exibida para o cliente novamente após 1 dia…. teria como vc me dar um help? obrigado, mais uma vez, parabéns pelo site!

  4. Christiano says:

    Estou com a mesma dúvida do Julio,

    A janela modal carrega em todas as paginas..como criar um cookie para carregar somente uma vez(quando for um visitante novo)?

  5. marcelo says:

    eu queria fazer algo do tipo o site da amazon, que guardasse os id dos produtos visitados para um mesmo visitante, esse plugin pode fazer isso?
    atenciosamente

  6. Edgar says:

    Estava procurando no Google uma maneira de lidar com os cookies usando o jquery e cai nesse site. Artigo muito bom. =]

  7. Lopes Filho says:

    Caro Christiano e todos que por ventura interessarem, para saber como montar janela modal visite o link: http://www.maujor.com/blog/2009/04/16/janela-modal-com-jquery/

    Sucesso!