Como expirar um cookie em 30 minutos usando o jQuery?

121

Como expirar um cookie em 30 min? Estou usando um cookie jQuery. Eu sou capaz de fazer algo assim.

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

Isso é por 1 dia. Mas como podemos definir o tempo de expiração para 30 min.

bluwater2001
fonte

Respostas:

235

30 minutos são 30 * 60 * 1000milissegundos. Adicione isso à data atual para especificar uma data de validade 30 minutos no futuro.

 var date = new Date();
 var minutes = 30;
 date.setTime(date.getTime() + (minutes * 60 * 1000));
 $.cookie("example", "foo", { expires: date });
Sinan Ünür
fonte
6
Também para obras para a mais recente encarnação: js-cookies
cssyphus
3

Se você estiver usando o jQuery Cookie ( https://plugins.jquery.com/cookie/ ), poderá usar ponto decimal ou frações.

Como um dia é 1, um minuto seria 1 / 1440(há 1440 minutos em um dia).

São 30 minutos 30 / 1440 = 0.02083333.

Código final:

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

Eu adicionei path: '/'para que você não esqueça que o cookie está definido no caminho atual. Se você estiver no /my-directory/cookie, apenas está definido para esse diretório.

Yvan
fonte
0

Ocorreu um problema ao fazer com que o código acima funcionasse no cookie.js. O código a seguir conseguiu criar o registro de data e hora correto para a expiração do cookie na minha instância.

var inFifteenMinutes = nova data (nova data (). getTime () + 15 * 60 * 1000);

Este foi o FAQs para Cookie.js

Terry Carter
fonte