Biscoitos em JavaScript: Exemplo de Definir, Obter e Excluir

O que são cookies?

Um cookie é um dado armazenado no seu computador para ser acessado pelo seu navegador. Você também pode ter aproveitado os benefícios dos cookies, consciente ou inconscientemente. Você já salvou sua senha do Facebook para não precisar digitá-la toda vez que tentar fazer login? Se sim, então você está usando cookies. Os cookies são salvos como pares chave/valor.

Por que você precisa de um cookie?

A comunicação entre um navegador web e o servidor usa um protocolo sem estado chamado HTTP. O protocolo stateless trata cada solicitação de forma independente. Assim, o servidor não guarda os dados após enviá-los ao navegador. Mas em muitas situações, os dados serão solicitados novamente. Aí vêm os biscoitos em uma imagem. Com os cookies, o navegador não terá que se comunicar com o servidor cada vez que os dados forem solicitados. Em vez disso, ele pode ser obtido diretamente do computador.

Javascript Definir cookie

Você pode criar cookies usando document. propriedade de cookie como esta.

document.cookie = "cookiename=cookievalue"

Você pode até adicionar uma data de validade ao seu cookie para que o cookie específico seja removido do computador na data especificada. A data de vencimento deve ser definida no formato UTC/GMT. Se você não definir a data de validade, o cookie será removido quando o usuário fechar o navegador.

document.cookie = "cookiename=cookievalue; expires= Thu, 21 Aug 2014 20:00:00 UTC"

Você também pode definir o domínio e o caminho para especificar a qual domínio e a quais diretórios no domínio específico o cookie pertence. Por padrão, um cookie pertence à página que o define.

document.cookie = "cookiename=cookievalue; expires= Thu, 21 Aug 2014 20:00:00 UTC; path=/ "

//cria um cookie com um domínio para a página atual e caminho para todo o domínio.

JavaScript obter Cookie

Você pode acessar o cookie desta forma, que retornará todos os cookies salvos para o domínio atual.

var x =  document.cookie

JavaScript Excluir Cookie

Para excluir um cookie, você só precisa definir o valor do cookie como vazio e definir o valor de expiração como uma data passada.

document.cookie = "cookiename= ; expires = Thu, 01 Jan 1970 00:00:00 GMT"

Experimente você mesmo este exemplo

Instruções especiais para fazer o código funcionar… Pressione o botão executar duas vezes

<html>
<head>
	<title>Cookie!!!</title>
	<script type="text/javascript">
		function createCookie(cookieName,cookieValue,daysToExpire)
        {
          var date = new Date();
          date.setTime(date.getTime()+(daysToExpire*24*60*60*1000));
          document.cookie = cookieName + "=" + cookieValue + "; expires=" + date.toGMTString();
        }
		function accessCookie(cookieName)
        {
          var name = cookieName + "=";
          var allCookieArray = document.cookie.split(';');
          for(var i=0; i<allCookieArray.length; i++)
          {
            var temp = allCookieArray[i].trim();
            if (temp.indexOf(name)==0)
            return temp.substring(name.length,temp.length);
       	  }
        	return "";
        }
		function checkCookie()
        {
          var user = accessCookie("testCookie");
          if (user!="")
        	alert("Welcome Back " + user + "!!!");
          else
          {
            user = prompt("Please enter your name");
            num = prompt("How many days you want to store your name on your computer?");
            if (user!="" && user!=null)
            {
            createCookie("testCookie", user, num);
            }
          }
        }
	</script>
</head>
<body onload="checkCookie()"></body>
</html>