Je souhaite configurer un cookie qui n'expire jamais. Serait-ce même possible?
document.cookie = "name=value; expires=date; path=path;domain=domain; secure";
Je ne veux pas rendre la date vraiment grande, je me demande simplement s'il y avait une valeur pour le paramètre expires sur le cookie qui lui a dit de ne jamais expirer.
Merci.
javascript
cookies
José Vega
la source
la source
Réponses:
Nan. Cela ne peut pas être fait. La meilleure `` façon '' de le faire est simplement de faire en sorte que la date d'expiration soit 2100.
la source
Il n'y a pas de syntaxe pour ce que vous voulez. Si le paramètre n'expire pas, le cookie expire à la fin de la session. La seule option est de choisir une valeur arbitrairement grande. Sachez que certains navigateurs ont des problèmes avec les dates postérieures à 2038 (lorsque l'heure de l'époque Unix dépasse un int 32 bits).
la source
Expires
ouMax-Age
est un cookie de session: il est supprimé lorsque le client s'arrête. Cependant, les navigateurs Web peuvent utiliser la restauration de session , ce qui rend la plupart des cookies de session permanents, comme si le navigateur n'était jamais fermé. ( source: MDN )Vous pouvez faire comme exemple sur la documentation Mozilla :
PS
Bien sûr, il y aura un problème si l'humanité utilise toujours votre code à la première minute de l'année 10000 :)
la source
Tous les cookies expirent conformément à la spécification des cookies , la valeur maximale que vous pouvez définir est
La durée de vie maximale des cookies est donc
la source
document.cookie = 'subscripted_24=true; expires=' + new Date(2147483647 * 1000).toUTCString();
Vous pouvez éventuellement définir un cookie à une date d'expiration d'un mois ou quelque chose du genre, puis réaffecter le cookie à chaque fois que l'utilisateur visite à nouveau le site Web.
la source
Si vous ne définissez pas de date d'expiration, le cookie expirera à la fin de la session de l'utilisateur. Je recommande d'utiliser la date juste avant que l'heure de l'époque Unix ne s'étende avec un entier 32 bits. Pour le mettre dans le cookie que vous utiliseriez
document.cookie = "randomCookie=true; expires=Tue, 19 Jan 2038 03:14:07 UTC;
, en supposant querandomCookie
c'est le cookie que vous définissez ettrue
sa valeur respective.la source
VOUS NE POUVEZ PAS . Il n'y a pas de code exact à utiliser pour définir un cookie permanent, mais une vieille astuce fera l'affaire, comme
current time + 10 years
.Juste une note que toutes les dates au
January 2038
- delà vous seront condamnés pour les cookies ( 32 bits int ) seront supprimés instantanément. Souhaite un miracle qui sera corrigé dans un proche avenir. Pour les int 64 bits , des années2110
seront sûres. Au fil du temps, les logiciels et le matériel changeront et ne s'adapteront peut-être jamais aux anciens (les choses que nous avons maintenant), alors préparez le maintenant pour l' avenir .la source
Si vous avez l'intention de lire les données uniquement du côté client, vous pouvez utiliser le stockage local. Il est supprimé uniquement lorsque le cache du navigateur est effacé.
la source
Vous pouvez faire en sorte qu'un cookie ne se termine jamais en le définissant à n'importe quelle date plus un de plus que l'année en cours comme ceci:
la source