Gostaria de configurar um cookie que nunca expira. Isso seria possível?
document.cookie = "name=value; expires=date; path=path;domain=domain; secure";
Eu não quero tornar a data muito grande, estou apenas imaginando se havia um valor para o parâmetro expires no cookie que informava para nunca expirar.
Obrigado.
javascript
cookies
Jose Vega
fonte
fonte
Respostas:
Não. Não pode ser feito. A 'maneira' de fazer isso é apenas fazer com que a data de validade seja como 2030.
fonte
Não há sintaxe para o que você deseja. Não definir expirar faz com que o cookie expire no final da sessão. A única opção é escolher algum valor arbitrariamente grande. Esteja ciente de que alguns navegadores têm problemas com datas anteriores a 2038 (quando o tempo da época unix excede um int de 32 bits).
fonte
Expires
ouMax-Age
é um cookie de sessão: é excluído quando o cliente é encerrado. No entanto, os navegadores da Web podem usar a restauração de sessão , o que torna a maioria dos cookies de sessão permanentes, como se o navegador nunca tivesse sido fechado. ( fonte: MDN )Você pode fazer o exemplo nos documentos do Mozilla :
PS
Obviamente, haverá um problema se a humanidade ainda usar seu código no primeiro minuto do ano 10000 :)
fonte
Todos os cookies expiram de acordo com a especificação do cookie . O valor máximo que você pode definir é
Portanto, o tempo máximo de vida útil do cookie é
fonte
document.cookie = 'subscripted_24=true; expires=' + new Date(2147483647 * 1000).toUTCString();
Você pode definir um cookie na data de vencimento de um mês ou algo assim e reatribuir o cookie toda vez que o usuário visitar o site novamente
fonte
Se você não definir uma data de validade, o cookie expirará no final da sessão do usuário. Eu recomendo usar a data antes que o tempo da época unix seja estendido para um número inteiro de 32 bits. Para colocar isso no cookie que você usaria
document.cookie = "randomCookie=true; expires=Tue, 19 Jan 2038 03:14:07 UTC;
, assumindo que esserandomCookie
é o cookie que você está configurando e quetrue
é seu respectivo valor.fonte
VOCÊ NÃO PODE . Não há código exato a ser usado para definir um cookie permanente, mas um truque antigo serve, como
current time + 10 years
.Apenas uma observação de que qualquer data além
January 2038
o condenará pelos cookies ( int de 32 bits ) serão excluídos instantaneamente. Deseje um milagre que seja corrigido no futuro próximo. Para int de 64 bits , os próximos anos2110
serão seguros. À medida que o tempo passa, o software e o hardware mudam e podem nunca se adaptar aos mais antigos (as coisas que temos agora), então prepare o agora para o futuro .fonte
Se você pretende ler os dados apenas do lado do cliente, pode usar o armazenamento local. Ele é excluído apenas quando o cache do navegador é limpo.
fonte
Você pode fazer com que um cookie nunca termine definindo-o para qualquer data mais uma a mais do que o ano atual como este:
fonte