View on GitHub

aulas-programacao-web

Materiais de Aula - Programação de Computadores com tecnologias Web

Web Storage API

📽 Veja esta vídeo-aula no Youtube: Em breve…

Você pode manipular um armazenamento local, utilizando Javascript, para diversos fins, para manipular informações de uma página ou até mesmo estilos.

Este é o conceito de storage, que possui os seguintes formatos:

Disponibilidade

O acesso a ambos os armazenamentos são para um domínio específico, seja o armazenamento local ou o armazenamento de sessão, permitindo que você adicione, modifique ou exclua itens de dados armazenados. Por exemplo:

O uso de storage não é considerado substituto a uma opção persistente de armazenamento de dados, como um banco de dados relacional.

Manipulação

Funções disponíveis

Storage.key(<indiceChave>)

Quando passado um número n qualquer, maior ou igual a zero, este método retornará o nome da n-ésima chave no armazenamento.

Storage.chave ou Storage.getItem(<chave>)

Utilizado para retornar o valor dessa chave.

Storage.chave = <valor> ou Storage.setItem(<valor>)

Quando passado um nome de chave e valor, irá adicionar essa chave para o armazenamento, ou atualizar o valor dessa chave, se já existir.

Storage.removeItem(<chave>)

Quando passado um nome de chave, irá remover essa chave do armazenamento.

Storage.clear()

Quando chamado, irá esvaziar todas as chaves fora do armazenamento.

Aonde Storage = localStorage ou sessionStorage.

Exemplos

Definindo chaves

localStorage.corFundoDark = '#1C1C1C';
localStorage.corFonteDark = '#F0F8FF';

localStorage.corFundoClear = '#1C1C1C';
localStorage.corFonteClear = '#F0F8FF';

localStorage.nomeTema = 'Dark';

Atribuindo a elementos da página

document.querySelector('html').style.backgroundColor  =  localStorage.corFundo;
document.querySelector('html').style.color  =  localStorage.corFonte;

Utilizando em outras situações

const aplicaTema = () => {
    var tema = localStorage.nomeTema;
    if (tema = "Dark") {
        document.querySelector('html').style.backgroundColor  =  localStorage.corFundoDark;
        document.querySelector('html').style.color  =  localStorage.corFonteDark;
    }else{
        document.getElementById('bgColor').value  =  localStorage.corFundoClear;
        document.querySelector('html').style.color  =  localStorage.corFonteClear;        
    }
}

ou

const aplicaTema = () => {
    var tema = localStorage.nomeTema;
    document.querySelector('html').style.backgroundColor = localStorage.getItem('corFundo'.concat(tema));
    document.querySelector('html').style.color = localStorage.getItem('corFonte'.concat(tema));
}

Exemplo completo

Código-Fonte: https://github.com/diegoneri/LocalStoragePokedex Exemplo: https://diegoneri.github.io/LocalStoragePokedex/