2011-10-24 32 views
14

¿Podría alguien actualizar el siguiente código para que la cookie expire en 30 segundos.Hacer que una cookie caduque en 30 segundos

function setCookie(c_name, value, exdays) { 
    var exdate = new Date(); 
    exdate.setDate(exdate.getDate() + exdays); 
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString()); 
    document.cookie = c_name + "=" + c_value; 
} 
+3

... Así que has hecho una copia/pega fuera w3schools ... Quirksmode tiene una mejor explicación de las cookies en JavaScript: http://www.quirksmode.org/js/cookies.html – CD001

+0

¿Qué estás tratando de hacer? ¿Por qué quieres que caduque tan rápido? –

+0

@Jason Puede que haya momentos en los que simplemente desee pasar datos entre páginas sin enviar esa información por cable. En casos como ese, una cookie que caduca rápidamente hace un buen trabajo. – TyMayn

Respuesta

29
function createCookie(name, value) { 
    var date = new Date(); 
    date.setTime(date.getTime()+(30*1000)); 
    var expires = "; expires="+date.toGMTString(); 

    document.cookie = name+"="+value+expires+"; path=/"; 
} 
+0

¿Por qué estamos usando toGMTString() en caduca? ¿Hay alguna razón específica? –

0

Puede utilizar max-age la hora de establecer una cookie, lo que se traduce en código más simple:

function setCookie(name, value, maxAgeSeconds) { 
    var maxAge = "; max-age=" + maxAgeSeconds; 
    document.cookie = encodeURI(name) + "=" + encodeURI(value) + maxAge; 
} 
Cuestiones relacionadas