Sunday, 15 de February de 2004
COMO CONFIGURAR COOKIES
Configurar um cookies básico é simples; simplesmente crie uma string no formulário cookie_nome=valor e depois ajuste a propriedade document.cookie para aquela string. Felizmente, as funções escape() e unescape() codificarão e decodificarão cookies, assim você não precisa se preocupar com essa restrição.
Exemplo:
function setarCookie()
{
var o_nome = prompt("Qual é o seu nome?".""); // linha 1
var o_cookie = "nome=" + escape(o_nome); // linha 2
document.cookie = o_cookie; // linha 3
alert("Obrigado!");
}
EXEMPLO A
Esse é um exemplo simples que armazena o nome de um visitante e um cookie chamado nome. A primeira linha da função do exemplo A pede por um nome do visitante e o salva em o_nome. 2ª cria a string para armazenar o cookie. A função escape() substitui caracteres que os cookies não podem lidar por caracteres legais. Por exemplo, se eu entrasse como paulo filipe na apresentação, essa linha criaria a string nome=paulo%20filipe. O sinal de porcentagem e 20(%20) substituem o espaçõ entre paulo e filipe. A linha 3 configura o cookie. Para garantir que você configurou um cookie, digite o seguinte em sua barra de localização do browser:
javascript:alert(document.cookie)
COMO LER COOKIES
É muito fácil ler um cookie que você salvou no disco rígido de alguém.
um exemplo:
function lerCookie()
{
var o_cookie = document.cookie; // linha 1
var quebra_de_linha = o_cookie.split("="); //linha 2
var o_nome = quebra_de_linha[1]; // linha 3
var o_nome = unescape(o_nome); // linha 4
alert("Seu nome é: "+ o_nome);
}
EXEMPLO B
A primeira linha no exemplo B é a importante. Sempre que o seu browser abre uma página da Web, o browser le quaisquer cookies que o site tenha armazenado em sua máquina e os carrega na propriedade document.cookie .
A parte ardilosa sobre a leitura de cookies é obter exatamente as informações que você deseja deles. No exemplo B, tudo depois da primeira linha da função puxa o nome do usuário para fora do cookie. Uma vez que a 1ª obtém o cookie, a 2ª rompe o cookie em um array de dois elementos, usando o método split() .
O primeiro elemento no array consiste de tudo no cookie antes do sinal de igual (=). Nesse caso, é nome, assim aquele é o primeiro elemento no array. O segundo elemento no array é tudo depois do sinal de igual, que é filipe%20. A 3ª agarra essa string a partir do array e armazena em the_name, e a 4ª decodifica the_name com a função unescape() , trocando %20 por um espaço.
COMO REAJUSTAR COOKIES
Para reset(reajustar)(mudar o valor de) um cookie, simplesmente ajuste o seu nome para outro valor. Por exemplo, para saber sobre a última vez que um visitante esteve em seu site, ajuste um cookie chamado date cada vez que aquela pessoa visitar o seu site. O exemplo D relaciona uma página da Web completa, que controla última vez que determinado visitante entrou na página da Web.
Cookie de Data
Bem vindo!
[/cf=
EXEMPLO C
Carregar essa página chama as funções [cf] JavaScript lerCookie() (linha 2) e setarCookie() (linha 3). A função lerCookie() verifica se o site ajustou um cookie (linha 1). Se a string entre os parênteses da cláusula if-then for false ou a string nula(""), as linhas no corpo da declaração if-then não se executarão, extraindo a data do cookie e escrevendo-a na página da Web usando document.write() .
Depois que lerCookie() faz isso, setarCookie() ajusta um novo cookie. Essa função obtém a data atual e ajusta um cookie chamado data àquela data. Cada vez que setarCookie() é chamada, ela substitui o último cookie por um novo. Isso é exatamente como ajustar uma variável.
COMO CONFIGURAR MAIS DE UMA PARCELA DE INFORMAÇÕES
Acrescentar mais de uma parcela de informações a um cookie não é um problema. Por exemplo, para armazenar o nome, idade e número de telefone de uma pessoa, você deve configurar um cookie assim:
var o_cookie = "nome:paulo/idade:17/fone:32320087";
document.cookie="meu_cookie="+ escape(o_cookie);
Uma barra separa propriedade de nomes(nome do usuário, idade e telefone) e dois-pontos distinguem as propriedades de nomes e valores(nome de usuário: paulo,fone:32320087) . A barra e os dois pontos são arbitrarios, você pode usar quaisquer símbolos - desde que seja consistente. É um pouco mais difícil tirar de um cookie múltplas parcelas de informações. Tente usar arrays associativos para armazenas as informações. Por exemplo, se você salvou:
meu_cookie=nome:paulo/idade:17/fone:32320087
no disco rígido de algúem, você pode ler as informações em um array
associativo, exemplo de página:
Cookie Complexo
Isso é o que eu sei sobre você
EXEMPLO D
Quando essa página carrega, (linha 5) configura um cookie, (linha 6) cria um novo array e (linha 7) envia o novo array, vazio à função "lerOCookie()". Primeiro, a função obtém o cookie e divide o nome do cookie (meu_cookie). Depois, (linha 1), "os_valores" será igual a "nome:paulo/idade:17/fone:32320087", pois é o que mostra que ajustamos o cookie na função "setarCookie()".
A seguir, (linha 2) divide "os_valores" entre suas partes componentes, carregando "nome:paulo" em "separados[0]", "idade:17" em "separados[1]" e "fone:32 320087" em "separados[2]".
Depois que a função interrompe "os_valores", (linha 3) se curva sobre cada um dos três elementos(nome,idade,fone) em "separados". Cada vez que ocorre um loop, a função separa o elemento em duas partes, com os dois pontos.
Depois, ela carrega a primeira parte do elemento em "propriedades" e a
segunda parte em "o_valor". Na primeira vez que o loop percorre, "propriedades" é "nome" e "o_valor" é "paulo". Uma vez o elemento separado, assim, o array associativo a_info é carregado em (linha 4). Depois da loop ocorrer três vezes, você obtém esses resultados: a_info["nome"] = "paulo, a_info ["idade"] = "17" e a_info["fone"] = "32320087".
Com o array associativo adequadamente carregado, as três linhas começando em (linha 8) recuperam as informações e as exibem em uma página da Web.
COMO AJUSTAR A DURAÇÃO DE UM COOKIE
Até agora, criamos cookies que desaparecem quando um usuário sai do browser. Às vezes isso é bom. Uma vez que cada domínio só pode ter 20 cookies na máquina de um usuário, você não quer disperdiçar espaço salvando cookies desnecessários entre sessões de browser.
No entanto, se quiser que os seus cookies permaneçam no disco rígido de um usuário depois que ele sair do browser, você precisa ajustar uma data de validade em um formato especial, chamado GMT( no MSI6.0 e provavelmente em futuros browsers, GMT(Greenwich
Mean Time) tem sido substituído por UTC(Universal Time Code). São apenas nomes diferentes para a mesma coisa, mas não se surpreenda se vir UTC ao invés de GMT.) Por exemplo:
[cf] Sun, 12-Jan-1992 00:00 GMT
supostamente, é a data de nascimento em Greenwich Mean Time de HAL 9000, o computador inteligente de 2001: uma odisséia no espaço. (HAL?HAL? Você está ai?).
O formato GMT pode ser meio doloroso, especialmente se você precisa descobrir se o dia era uma segunda feira, sexta feira ou o que for. Felizmente, o método de data "toGMTString()" de JavaScript converte uma data em um formato mais simples em uma data em formato GMT. Eis uma maneira fácil de ajustar uma data, distante no futuro:
var a_data = new Date("December 31, 2023");
var o_cookie_data = a_data.toGMTString();
Para ajustar a validade do seu cookie, você precisa acrescentar a data
de término ao cookie. Acrescente "expires=data" à string e separa os
componentes do cookie com ponto-e-vírgula:
o_cookie=algumcookie;expires=data
O exemplo H mostra como montar um cookie que durará até o final do calendário Maia:
function setarCookie()
{
var o_nome = prompt("Qual seu nome?","");
var a_data = new Date("December 31, 2023");
var o_cookie_data = a_data.toGMTString();
var o_cookie = "meu_cookie"+ escape(o_nome);
o_cookie = o_cookie+ ";expires="+ o_cookie_data;
document.cookie = o_cookie;
}
EXEMPLO E
Antes de "o_cookie" no exemplo E ser escapado(usando a função escape()), ele se parecerá com a seguinte linha:
meu_cookie=paulo;expires=Fri, 31-Dec-2023 00:00:00 GMT
Uma vez ajustado, esse cookie vive no disco rígido de seu visitante até
a data de expiração. Você também pode usar a data de expiração para apagar cookies, ajustando a data para um tempo no passado. Isso pode ser útil se você estiver usando cookie para registrar pessoas que entram e saem de seu site. Quando um visitante registra a sua entrada, dê a ele um cookie que mostre que eles se registraram. Quando ele quiser sair, apague o cookie.
Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o
login