Foros del Web » Programando para Internet » Javascript »

duracion de cookies

Estas en el tema de duracion de cookies en el foro de Javascript en Foros del Web. hola, tengo una duda sobre la duración de cookies. me podrían decir cuanto dura la cookies en este ejemplo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver ...
  #1 (permalink)  
Antiguo 14/05/2015, 07:46
 
Fecha de Ingreso: diciembre-2013
Mensajes: 81
Antigüedad: 11 años
Puntos: 1
duracion de cookies

hola, tengo una duda sobre la duración de cookies.
me podrían decir cuanto dura la cookies en este ejemplo

Código Javascript:
Ver original
  1. jQuery.cookie = function(name, value, options) {
  2.     if (typeof value != 'undefined') { // name and value given, set cookie
  3.         options = options || {};
  4.         if (value === null) {
  5.             value = '';
  6.             options = $.extend({}, options); // clone object since it's unexpected behavior if the expired property were changed
  7.             options.expires = -1;
  8.         }
  9.         var expires = '';
  10.         if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
  11.             var date;
  12.             if (typeof options.expires == 'number') {
  13.                 date = new Date();
  14.                 date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
  15.             } else {
  16.                 date = options.expires;
  17.             }
  18.             expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
  19.         }
  20.         // NOTE Needed to parenthesize options.path and options.domain
  21.         // in the following expressions, otherwise they evaluate to undefined
  22.         // in the packed version for some reason...
  23.         var path = options.path ? '; path=' + (options.path) : '';
  24.         var domain = options.domain ? '; domain=' + (options.domain) : '';
  25.         var secure = options.secure ? '; secure' : '';
  26.         document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
  27.     } else { // only name given, get cookie
  28.         var cookieValue = null;
  29.         if (document.cookie && document.cookie != '') {
  30.             var cookies = document.cookie.split(';');
  31.             for (var i = 0; i < cookies.length; i++) {
  32.                 var cookie = jQuery.trim(cookies[i]);
  33.                 // Does this cookie string begin with the name we want?
  34.                 if (cookie.substring(0, name.length + 1) == (name + '=')) {
  35.                     cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
  36.                     break;
  37.                 }
  38.             }
  39.         }
  40.         return cookieValue;
  41.     }
  42. };
  #2 (permalink)  
Antiguo 14/05/2015, 08:02
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 3 meses
Puntos: 578
Respuesta: duracion de cookies

El valor de duración lo tienes que especificar tú, en días, mediante el parámetro options.
  #3 (permalink)  
Antiguo 14/05/2015, 10:06
 
Fecha de Ingreso: diciembre-2013
Mensajes: 81
Antigüedad: 11 años
Puntos: 1
Respuesta: duracion de cookies

me podrías ayudar, no se mucho de java.

si lo quisiera que solo dure mmm 10 minutos, donde lo hago?
  #4 (permalink)  
Antiguo 14/05/2015, 10:43
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 3 meses
Puntos: 578
Respuesta: duracion de cookies

¿No sabes mucho de JavaScript?

Si te fijas bien en el código comprenderás como funciona dicha librería:

Código Javascript:
Ver original
  1. if (typeof options.expires == 'number') {
  2.       date = new Date();
  3.       date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
  4. } else {
  5.       date = options.expires;
  6. }

Si pasas la propiedad expires como número, entonces se asume que la expiración es en días. No obstante también te da la opción de pasarle un objeto Date personalizado. En el caso de que quisieras que expire en 10 minutos tendrías que añadirle al date actual 10 minutos:

Código Javascript:
Ver original
  1. var date = new Date(); // Creas el objeto
  2.  
  3. var actual = date.getTime(); // Obtienes el tiempo unix de la fecha en ms
  4.  
  5. var minutos = 10; // Variable que contiene los minutos
  6.  
  7. date.setTime(actual + (minutos * 60 * 1000)); // Agregas los minutos al timestamp reemplazando el date original

Después creas la cookie pasándole a la directiva expires la variable date:

Código Javascript:
Ver original
  1. $.cookie("ejemplo", "algo", { expires: date });

¿Entendido?

Para información más precisa, revisa la documentación oficial sobre dicho plug-in

Etiquetas: cookies, duracion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:17.