Leandro Vieira Pinho´s Blog

Just another WordPress weblog

Solução para trabalhar com cookies em JavaScript

December 23rd, 2006. Published under add-on, javascript. 4 Comments.

Estou envolvido com um projeto, o qual necessitou da utilização de cookies. Como o projeto se baseia totalmente (e somente) de forma client-side. Minha única solução foi o JavaScript :)

Com isto criei o w3cookies, uma forma simples e fácil para criar, ler ou deletar cookies. Observe o código abaixo:

/**
 * w3cookies (0.1) - 23/12/2006
 * Leandro Vieira Pinho
 * http://leandrovieira.com
 */
var w3cookies = {
	date: new Date(),
	// Cria o(s) cookie(s)
	// Forma de uso: w3cookies.create('nome_do_cookie','valor',dias_para_expirar);
	create: function(strName, strValue, intDays) {
		if ( intDays ) {
			this.date.setTime(this.date.getTime()+(intDays*24*60*60*1000));
			var expires = "; expires=" + this.date.toGMTString();
		} else {
			var expires = "";
		}
		document.cookie = strName + "=" + strValue + expires + "; path=/";
	},
	// Ler as informações de um cookie em específico
	// Forma de uso: w3cookies.read('nome_do_cookie');
	read: function(strName) {
		var strNameIgual = strName + "=";
		var arrCookies = document.cookie.split(";");
		for ( var i = 0, strCookie; strCookie = arrCookies[i]; i++ ) {
			while ( strCookie.charAt(0) == " ") {
				strCookie = strCookie.substring(1,strCookie.length);
			}
			if ( strCookie.indexOf(strNameIgual) == 0 ) {
				return strCookie.substring(strNameIgual.length,strCookie.length);
			}
		}
		return null;
	},
	// Delete um cookie desejado
	// Forma de uso: w3cookies.erase('nome_do_cookie');
	erase: function(strName) {
		this.create(strName,"",-1);
	}
}

Enjoy :)

Dúvidas? Comente aí.

4 Comments

kakaroto  on July 3rd, 2007

Beleza leandro me tira uma duvida ,acho que vale

eu sei que acerte a pergunta de 9+ 6 isso significa que eu sou humano :) queria jogar num array esse cookie ????
tem como ????

leandro  on July 3rd, 2007

Cara, não compreendi bem o seu objetivo. O que deseja?

kakaroto  on July 6th, 2007

meu objectivo leandro era quando o usuario clickar
nas opcao de radio dentro um form eu posso marcar com cookie as opcçoes escolhidas dele e dessa forma gerar um limite :) pq nao sei exister sessao sem load
eu postei no imaters
http://forum.imasters.com.br/index.php?showtopic=235135
se poder dar uma olhada vai me ajudar muito :)

Daniella  on October 25th, 2007

Preciso fazer um cadatro de clientes nesse cadastro na pagina inicial o login tem que ser gravado num cookie e o botão salvar tem que chamar a outra pagina mas não sei como fazer isso….

Leave a Comment