Uso de Cookie con JavaScript
Uso de Cookie con JavaScript
Enviar una cookie es bastante simple, sólo necesitas darle a la propiedad document.cookie el valor de la cadena de texto con las variables de tu cookie:
document.cookie=”estilo=” + encondeURIComponent(“estilo rojo” +”; max-age=” +
60*60*24*60 +”; path=/; domain=bloogie.es”; La siguiente función facilita algo el trabajo:
function enviar_cookie
(nombre_cookie,valor_cookie,vida_cookie_dias,dominio_cookie){
document.cookie = nombre_cookie +
“=” + encodeURIComponent( valor_cookie ) + “; max-age=” + 60 * 60 *
24 * vida_cookie_dias +
“; path=/; domain=” + dominio_cookie ;
}
Para establecer la cookie ahora solo tienes que llamar la función desde la parte de una página que quieras mediante una expresión que para nuestro ejemplo sería:
enviar_cookie(“estilo”,”color rojo”,”60″,”bloogie.es”);
COMO LEER UNA COOKIE
En este punto ya hemos enviado una cookie, pero no nos servirá de nada si no la leemos cuando el usuario visite nuestra página.
Lo primero será comprobar si la cookie existe, esto si la hemos enviado y permanece guardada en el navegador. Una vez obtenida la leeremos como lo que és, una cadena de texto en busca de los parámetros que nos interesen. En nuestro ejemplo el parámetro que nos interesa es el nombre de la cookie y su valor, es decir, que valor tiene el parámetro que hemos introducido llamado “estilo”. Para hacer esto podemos usar expresiones regulares o funciones javascript como split para separar la cadena de texto en varias partes y buscar una subcadena. Para nuestro ejemplo se podría usar la siguiente función:
function get_cookie ( nombre_cookie ){
if (document.cookie.length != 0) {
var valor_cookie = docuemnt.cookie.match (
‘(^|;)[\s]*’ +
nombre_cookie +
‘=([^;]*)’ );
return decodeURIComponent ( valor_cookie[2] ) ;
}
return ” ;
}
Para obtener el estilo seleccionado por el usuario previamente y establecido en la cookie que enviamos utilizaremos:
estilo_usuario = get_cookie(“estilo”);
COMO BORRAR UNA COOKIE
Alguna vez puede que necesites borrar una cookie enviada con anterioridad. Para hacer esto envía una cookie con max-age=0 para el mismo path y domain, dejando el parámetro que deseas eliminar con valor nulo (en nuestro caso el parámetro estilo). La función anterior que usamos para enviar la cookie dejaba el path=/, para borrar esta cookie podríamos usar esta función:
function borrar_cookie ( nombre_cookie, dominio_cookie ){
document.cookie = nombre_cookie + “=”; max-age=0; path=/; domain=” +
dominio_cookie ;
}
Llamaremos a la función con:
borrar_cookie(“estilo”,”bloogie.es”);
Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros