Como posso criar e ler um valor de um cookie em JavaScript?
javascript
cookies
Venkatesh Appala
fonte
fonte
Respostas:
Aqui estão as funções que você pode usar para criar e recuperar cookies.
fonte
Abordagem ES6 minimalista e com todos os recursos:
fonte
toGMTString()
está obsoleto, use emtoUTCString()
vez disso.=
sinal. Nesse caso, a funçãogetCookie
produzirá resultado inesperado. Para evitar que considerar o uso seguinte corpo da função seta dentro reduzirconst [n, ...val] = v.split('='); return n === name ? decodeURIComponent(val.join('=')) : r
864e5 = 86400000 = 1000*60*60*24
representa o número de milissegundos em um dia de 24 horas.Cookies JQuery
ou Javascript simples:
fonte
O Mozilla fornece uma estrutura simples para leitura e gravação de cookies com suporte total a Unicode, além de exemplos de como usá-lo.
Depois de incluído na página, você pode definir um cookie:
leia um cookie:
ou exclua um cookie:
Por exemplo:
Veja mais exemplos e detalhes na página document.cookie da Mozilla .
Uma versão deste arquivo js simples está no github .
fonte
ES7, usando um regex para get (). Baseado no MDN
Uso - Cookie.get (nome, valor [, opções]): as
opções suportam todas as opções padrão de cookies e adicionam "dias":
Formas alternativas de definir a expiração:
A data atual pode ser obtida com: new Date (Date.now ()). ToUTCString ()
Outras respostas usam "expira" em vez de "idade máxima" para oferecer suporte a versões mais antigas do IE. Este método requer o ES7, portanto, o IE7 não está disponível (isso não é grande coisa).
Nota: Caracteres engraçados como "=" e "{:}" são suportados como valores de cookie, e o regex lida com espaços em branco à esquerda e à direita (de outras bibliotecas).
Se você deseja armazenar objetos, codifique-os antes e depois com JSON.stringify e JSON.parse, edite o item acima ou inclua outro método. Por exemplo:
fonte
Para quem precisa salvar objetos como {foo: 'bar'}, compartilho minha versão editada da resposta de @ KevinBurke. Adicionei JSON.stringify e JSON.parse, isso é tudo.
Então, agora você pode fazer coisas assim:
fonte
Já usei a resposta aceita deste tópico muitas vezes. É um ótimo código: simples e utilizável. Mas eu costumo usar babel, ES6 e módulos, então se você é como eu, aqui está o código para copiar para um desenvolvimento mais rápido com o ES6
Resposta aceita reescrita como módulo no ES6:
E depois disso, você pode simplesmente importá-lo como qualquer módulo (o caminho pode variar):
fonte
Aqui está um código para obter, definir e excluir cookies em JavaScript .
Fonte: http://mycodingtricks.com/snippets/javascript/javascript-cookies/
fonte
Eu uso esse objeto. Os valores são codificados, portanto, é necessário considerá-lo ao ler ou escrever no lado do servidor.
fonte
Maneira simples de ler cookies no ES6.
fonte
Eu usei o js-cookie para o sucesso.
fonte
Você pode usar o meu módulo ES do cookie para obter / configurar / remover o cookie.
Uso:
Na sua tag head, inclua o seguinte código:
ou
Agora você pode usar o window.cookie para armazenar informações do usuário em páginas da web.
cookie.isEnabled ()
O cookie está ativado no seu navegador?
Exemplo
cookie.set (nome, valor)
Defina um cookie.
Exemplo
cookie.get (name [, defaultValue]);
pegue um biscoito.
Exemplocookie.remove (nome);
Remova o cookie.
ExemploExemplo de uso
fonte
Uma versão aprimorada do readCookie:
Isso deve ser interrompido assim que você encontrar o valor do cookie e retornar seu valor. Na minha opinião, muito elegante com a dupla divisão.
A substituição na condição if é um recorte de espaço em branco, para garantir que ele corresponda corretamente
fonte
fonte
Eu escrevi cookieUtils simples, ele tem três funções para criar o cookie, ler o cookie e excluir o cookie.
fonte
Aqui está o exemplo de w3chools que foi mencionado.
fonte
Uma leitura simples
fonte
Uma maneira atrevida e simples de ler um cookie pode ser algo como:
Isto poderia ser usado se você sabe o seu cookie contém algo como:
username="John Doe"; id=123;
. Observe que uma string precisaria de aspas no cookie. Provavelmente não é a maneira recomendada, mas funciona para teste / aprendizado.fonte