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.

bluwater2001
la source

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 });
Sinan Ünür
la source
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.

Yvan
la source
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

Terry Carter
la source