Recentemente comecei a fazer algumas experiências e acabei criando uma extensão pra Google Chrome (apenas pra uso pessoal, não vou publicar).
E uma das coisas que usei no processo (já tinha ouvido falar, mas nunca tinha usado) foi o localStorage, uma “interface” de armazenamento de dados disponível nos navegadores mais atuais do mercado (FF, Chrome, Safari, Opera e etc.).
Todos vocês já ouviram falar dos Cookies e da Sessão, que basicamente faz a mesma coisa (armazena dados) na máquina do cliente e no servidor respectivamente.
A novidade do localStorage/sessionStorage é que isso é feito de forma bastante facilitada, via JavaScript e usando recursos nativos do seu navegador.
O localStorage salva dados no computador do visitante, que ficam vinculados ao (e apenas acessíveis pelo) seu domínio. E pra usar é bem simples:
Já o sessionStorage faz exatamente a mesma coisa, só que os dados ficam salvos apenas durante a sessão (e são apagados quando o visitante fecha a aba/navegador):
Mas prestem atenção… os dados salvos estão acessíveis APENAS no domínio criado.. então preparem-se para problemas entre www.site.com.br, site.com.br e subdominio.site.com.br.
Outro ponto a considerar é que você só consegue salvar strings e números (inteiros) nesse mecanismo, mas nada te impede de criar um objeto JSON com os dados do array/objeto que você quer salvar, não é mesmo? :)