borrame.com - Colección particular de recortes de código y documentación para programación web

Canales RSS

Lo más fresco

  1. Reemplazar selección con JavaScript Nuevo
  2. ¿Esta IP pertenece a esta red? Modificado
  3. Mozilla Firefox Modificado

Sugerencias del chef

Lo más visitado

  1. Dar formato a un número
  2. Fecha y hora
  3. Campo autonumérico
  4. Rotar logs en Windows
  5. Reiniciar Apache con cuidado (graceful restart)
Compartir esta página

Cookies en JavaScript

Con estas tres funciones, las cookies en JavaScript están chupadas. A tener en cuenta:

/**
 * Crea una cookie - nombre [valor] [duracion (s)] [ruta] [dominio] [segura (bool)]
 *
 * Notas:
 * - Si no se indica duración (o se establece a false) la cookie se borra al salir
 * - Si no se indica una ruta se asigna la del documento donde ejecutamos el script
 */

function escribirCookie(nombre, valor, duracion, ruta, dominio, segura){ // v2010-03-26
    if(duracion){
        var expires = new Date();
        expires.setUTCMilliseconds(expires.getUTCMilliseconds() + 1000*duracion);
    }

    document.cookie = escape(nombre) + "=" + (valor? escape(valor) : "") +
        (expires ? "; expires=" + expires.toGMTString() : "") +
        (ruta    ? "; path="    + escape(ruta) : "") +
        (dominio ? "; domain="  + escape(dominio) : "") +
        (segura  ? "; secure" : "");
}


/**
 * Elimina la cookie indicada
 */

function borrarCookie(nombre){ // v2010-03-26
    escribirCookie(nombre, "", -86400*365*10);
}


/**
 * Devuelve el valor de la cookie indicada o null si no existe
 */

function leerCookie(nombre){ // v2010-03-26
    var re = new RegExp("^(" + escape(nombre) + ")=(.*)$", "i");
    var c = document.cookie.split(/;\s*/);

    for(var i in c){
        if(re.test(c[i])){
            return unescape(re.exec(c[i])[2]);
        }
    }
    return null;
}

Historial

v2010-03-26
Comentarios mejorados.
v2009-01-16
Eliminar el eval() que puse cuando era joven e inexperto.
Dar una manita de pintura.
v2005-02-27 / v2005-03-02
Primera versión.

Esta página ha sido impresa el miércoles 8 de febrero de 2012 (01:46:29 +0100) desde http://borrame.com/recortes/javascript/cookies.html. La última vez que miré contenía HTML válido con CSS fresquito y si tiene flatas de ortografía ha sido sin querer.

borrame.com es el sitio anteriormente conocido como bits.demogracia.com (no confundir con Demogracia, que sólo pasaba por ahí).

© 2005-2011 by Álvaro G. Vicario (alvaro.es) • Burgos (España) • borrame.com