17/07/2022
Trabalhando com Cookies apenas utilizando JavaScript

Após a Lei Geral de Proteção de Dados Pessoais (LGPD) ser decretada e sancionada, o que não falta enquanto você navega pela internet são aqueles avisos ou alertas de uso e armazenamento de dados, principalmente sobre o uso de Cookies. Deixando a parte legislativa sobre proteção de dados um pouco de lado, o que são, afinal de contas, esses cookies?

Os cookies são dados armazenados em arquivos de texto no seu computador. E uma aplicação ou site pode enviar e acessar esses dados através do seu navegador. Isso serve para, por exemplo, armazenar informações sobre sua visita, suas últimas buscas e opções de personalização. Assim, da próxima vez que você acessar o mesmo site, o seu acesso será facilitado e você terá uma experiência melhor na navegação.

Se você deve ou não aceitar todos aqueles alertas de uso de cookies que aparecem, é uma decisão sua. Você pode encontrar mais detalhes sobre isso em diversas reportagens, como essa da CNN: Você deve aceitar o uso de cookies na Internet? É melhor pensar duas vezes. Além disso, tem mais detalhes nesses links:

Como o foco aqui é programação, você vai ver que é possível trabalhar com cookies utilizando apenas JavaScript. Para isso, basta acessar a propriedade document.cookie do navegador. Veja um exemplo simples de como salvar uma informação em um cookie:

document.cookie = "usuario=CiroMoura; SameSite=None; Secure";

Analisando o código, é possível observar que há uma variável “usuario”, que é o nome do cookie que será armazenado junto com o valor “CiroMoura”. Além disso, há outros atributos, como: “SameSite”, que impede o navegador de enviar esse cookie para outros sites; E “Secure”, que informa a opção do cookie ser transmitido apenas por protocolo seguro como https.

Já para ler o valor armazenado em um cookie, é possível utilizar uma função disponibilizada no site da W3Schools:

function getCookie(cname) {
     let name = cname + "=";
     let ca = document.cookie.split(";");
     for (let i = 0; i < ca.length; i++) {
       let c = ca[i];
       while (c.charAt(0) == " ") {
         c = c.substring(1);
       }
       if (c.indexOf(name) == 0) {
         return c.substring(name.length, c.length);
       }
     }
     return "";
   }

Onde a função recebe o nome do cookie (cname) como parâmetro, cria uma variável “name” com o texto (ou nome do cookie) que será procurado, adicionando também o caractere “=”. Em seguida, divide o conteúdo do cookie em partes, utilizando para isso o caractere “;” e salvando na variável “ca”. Após isso, percorre a variável (vetor) “ca” e busca pelo termo armazenado em “name”. Se algum valor for encontrado, será retornado, caso contrário será retornado apenas “”.

Um exemplo prático, salvando os dados referentes a preferência de cor/tema do usuário, pode ser visto nesse repositório ou direto nessa página.

Postagens relacionadas
Como delegar tarefas de forma eficiente? Ver

Em qualquer projeto, não só aqueles que envolvem o desenvolvimento de alguma solução tecnológica, uma das principais questões é como distribuir as tarefas entre os membros da equipe e garantir que o resultado, ao final do processo, seja satisfatório. Delegar tarefas de forma eficaz é uma habilidade que qualquer líder ou gestor que deseja aumentar […]

Gerador de senhas Ver

Este é um simples gerador de senhas. Preencha os campos de acordo com o tipo de senha que você desenha gerar. É possível copiar para sua área de transferência e assim você pode usar em outro formulário, em outro site. Lembre de salvar em algum outro lugar, não adianta gerar a senha perfeita e esquecer […]

Contagem regressiva com JavaScript Ver

Se você tem dificuldades em manter o foco para desenvolver algumas atividades, principalmente durante essa pandemia do novo coronavírus, chamado de Sars-Cov-2, uma possível solução é o uso do Método Pomodoro. O método consiste em manter o foco em uma determinada tarefa durante 25 minutos, sem interrupções. Assim, cada um desses períodos de 25 minutos […]