Comment faire expirer un cookie en 30 minutes en utilisant jQuery?


121

Comment faire expirer un cookie en 30 min? J'utilise un cookie jQuery. Je suis capable de faire quelque chose comme ça.

$.cookie("example", "foo", { expires: 1 });

C'est pour 1 jour. Mais comment fixer le délai d'expiration à 30 min.

Réponses:


235

30 minutes correspondent à des 30 * 60 * 1000millisecondes. Ajoutez-le à la date actuelle pour spécifier une date d'expiration 30 minutes plus tard.

 var date = new Date();
 var minutes = 30;
 date.setTime(date.getTime() + (minutes * 60 * 1000));
 $.cookie("example", "foo", { expires: date });

6
Aussi pour les œuvres pour la nouvelle incarnation: js-cookie
cssyphus

4

Si vous utilisez jQuery Cookie ( https://plugins.jquery.com/cookie/ ), vous pouvez utiliser un point décimal ou des fractions.

Comme un jour est 1, une minute serait 1 / 1440(il y a 1440 minutes dans une journée).

Donc 30 minutes, c'est 30 / 1440 = 0.02083333.

Code final:

$.cookie("example", "foo", { expires: 30 / 1440, path: '/' });

J'ai ajouté path: '/'pour ne pas oublier que le cookie est défini sur le chemin actuel. Si vous êtes sur, /my-directory/le cookie n'est défini que pour ce répertoire.


0

J'ai eu des problèmes pour faire fonctionner le code ci-dessus dans cookie.js. Le code suivant a réussi à créer l'horodatage correct pour l'expiration du cookie dans mon instance.

var inFifteenMinutes = nouvelle date (nouvelle date (). getTime () + 15 * 60 * 1000);

Cela provenait de la FAQ de Cookie.js

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.