Manejar cookies

Como ya sabrás las cookies son una forma de almacenar datos en tu ordenador (navegador) y se manejan con javascript. En este ejemplo se va a escribir una cookie. El nombre de la cookie es nombre y su valor Pedro, expira en 24 horas.

Luego lee el valor de la cookie y lo pone en pantalla

Solución

 

 

<script>

function leerCookie(clave){

  let valCookie= "";

  let buscar= clave + "=";

  if (document.cookie.length > 0) {

    pos=document.cookie.indexOf(buscar);

    if (pos != -1) {

      pos += buscar.length;

      fin= document.cookie.indexOf(";", pos);

      if (fin == -1) {

        fin= document.cookie.length;

      }

   valCookie= unescape(document.cookie.substring(pos,fin))

    }

  }

return valCookie;

}

function escrCookie(clave,valor, horas) {

  var expirar = "";

  if(horas != null) {

  expirar = new Date((new Date()).getTime() + horas * 3600000);

  expirar = "; expires="+ expirar.toGMTString();

  }

  var escribir = clave+"="+escape(valor)+ expirar;

  document.cookie = escribir;

}

</script>

<body>

<p>Si quieres escribir una cookie (nombre->"Pedro", 24horas)</p>

<script>

escrCookie("nombre","Pedro",24);

</script>

<p>Si quieres leer una cookie...</p>

<script>

document.write("la cookie es: nombre->"+leerCookie("nombre"));

</script>

</body>

Explicación

Recuerda que los cookies son datos almacenados en el ordenador del visitante. Estos datos están anotados en la forma clave=valor. Por ejemplo nombre = juan.

Leer una cookie es simplemente buscar el valor de la clave y luego acceder a lo que haya a continuación del signo igual. Y esto es lo que hace el script leeCookie(clave):

Busca la cadena formada por la clave que queremos buscar y el signo =. Para esto usa el método indexOf(). Si lo encuentra (pos != -1) lee lo que haya hasta el primer ; que encuentre (el punto y coma separa las cookies). La función ternima devolviendo el valor de la cookie (o nada si la clave buscadoa no existe)

La segunda función se utiliza para escribir una pareja clave=valor en el archivo cookie. La función también indica el tiempo (en horas) que debe transcurrir hasta que esta cookie expire, o sea, se borre. La función simplemente construye una cadena con la forma clave = valor; expires= tiempo. En esta cadena clave es el nombre de la cookie, valor es su valor asociado y tiempo el tiempo de vida.

Como lo uso

 

La forma de usar estas funciones no tiene nada de especial, se llaman como culquier función Javascript.

La función de escritura lleva tres argumentos: el nombre de la cookie que se escribirá, su valor y el tiempo de vida (opcional)

Para leer tan sólo necesita como argumento el nombre de la cookie que quieras leer.