Entendido.

Este sitio utiliza cookies para analizar la navegación. Si continúa navegando se entiende que acepta su uso. Ver más detalles.";

Logo

Aprende Web

Crea y diseña tus sitios en la Web.

Manual de Javascript

Javascript: lenguaje interactivo para dinamizar la web.


Y ahora tambien aprende a programar en C++ con Aprende Web C++

logo rss RSS. Suscribir canal.

Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net





Sobre ésta página

Ültima modificación: 29-01-2016.

Visitas este mes: 260

Visitas el mes pasado: 463

logo
WEB-GRAFÍA

Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de este manual.:

Desarrollo Web: manual de Javascript
Desarrollo Web, por Miguel Angel Álvarez
Libros Web: introducción a Javascript
Libros web, por Javier Eguíluz Pérez
Curso de Javascript: Programación Web
www.programacionweb.net
WebEstilo: JavaScript
www.webestilo.com
W3 schools; Javascript Tutorial
www.w3schools.com
Manual de Javascript: José Antonio Rodríguez.
Jose Antonio Rodriguez: manual en PDF

Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.




14. Cookies (II)

14.2 Leer cookies

javascript

Acceso a las cookies

En la página anterior vimos cómo crear y guardar cookies. Las cookies son información que se guarda en el ordenador del usuario. Acceder al valor de una cookie en concreto no resulta tan fácil como guardarla, ya que no hay un método concreto para ello.

Para leer las cookies usaremos la instrucción: document.cookie:

misCookies = document.cookie

la variable misCookies contendrá todas las cookies que tenga guardadas el usuario en su ordenador para javascript y en el navegador que esté usando. Estas se muestran en el siguiente formato:

nombre1=valor1;nombre2=valor2;nombre3=valor3 ... nombreN=valorN

Es decir, mediante esta instrucción obtenemos todas las cookies; cada cookie está separada de las demás por un punto y coma ( ; ), y de ella tenemos los datos del nombre, y el valor, separados por un signo igual. Sin embargo esta lista, tal como nos la dan nos sirve de poco, ya que lo que queremos saber normalmente, es el valor de una cookie determinada.


Extraer el valor de una cookie

Una vez que tenemos la lista de las cookies, lo que debemos hacer para acceder al valor de una de ellas, es extraer ese valor de la lista. Lo normal es utilizar una función con las instrucciones necesarias para buscar el nombre de la cookie en la lista, y después poder extraer su valor asociado.

Veamos aquí una manera de extraer un valor concreto de la lista de cookies. No es la única forma de hacerlo, ya que lo que hay que hacer es extraer de la lista (la cual es una cadena de texto) el valor que nos interesa, para ello suelen utilizarse los métodos para cadenas de textos o expresiones regulares. Aquí utilizaré un método que me parece bastante sencillo:

para empezar accedemos a la lista de cookies:

misCookies = document.cookie

En misCookies tenemos una cadena de texto con todas las cookies, las cuales tienen el siguiente formato:

nombre1=valor1;nombre2=valor2; ...

El punto y coma separa cada cookie de la siguiente, por lo que lo utilizaremos para transformar la cadena de texto en un array en la que cada elemento sea una cookie distinta; para ello utilizaremos el método split(";"). Al pasar como argumento el punto y coma, las cookies quedan separadas.

listaCookies = misCookies.split(";")

Ahora listaCookies es el array en el que tenemos todas las cookies. Cada elemento es una cookie distinta, pero el formato en el que está escrita sigue siendo:

nombre=valor

Lo que nosotros conocemos de la cookie es el nombre, por lo que dentro del array debemos buscar el elemento que contiene ese nombre. Para ello creamos un bucle que analice cada elemento y nos diga mediante la funcion search() si ese elemento contiene el nombre de la cookie. El bucle es el siguiente:

for (i in listaCookies) {
    busca = listaCookies[i].search("miNombre");
    if (busca > -1) {micookie=lista[i]}
    }

En el bucle, dentro de la lista de cookies listaCookies buscamos el que nos interesa miNombre, el cual se lo pasamos como argumento a la función search. Como esta función devuelve -1 cuando no encuentra el argumento buscado, y sabiendo que sólo puede haber una cookie con ese nombre, cuando lo encuentre el valor dado será mayor de -1, así la cookie buscada la guardamos en la variable micookie.

Una vez que hemos encontrado la cookie buscada, debemos aislar su valor, de modo que nos quedemos sólo con el valor, desechando en resto de la cadena. la varible micookie almacena la siguiente cadena de texto:

"miNombre=valor"

Donde miNombre es el nombre de la cookie que buscamos, y valor es el valor que queremos obtener. Por tanto el valor es lo que está escrito detrás del igual, por lo que utilizaremos el método indexOf(), que nos dirá la posición del signo igual, y luego mediante el método substring() obtenemos la cadena que va desde donde está el signo igual al final, la cual es el valor de la cookie:

igual = micookie.indexOf("=");
valor = micookie.substring(igual+1);

La variable valor contendrá el valor de la cookie que buscamos. En el método substring() el argumento pasado debe ser un número más del obtenido en el metodo indexOf() ya que si no se incluiría el signo igual en la cadena de texto que lo contiene.

Todo este procedimiento explicado aquí podemos escribirlo en una función, a la cual se le pasa como argumento el nombre de la cookie buscada. La función será la siguiente:

function leerCookie(nombre) {
         var lista = document.cookie.split(";");
         for (i in lista) {
             var busca = lista[i].search(nombre);
             if (busca > -1) {micookie=lista[i]}
             }
         var igual = micookie.indexOf("=");
         var valor = micookie.substring(igual+1);
         return valor;
         }

Con esta función podemos leer el valor de cualquier cookie, para ello debemos llamar a la función mediante:

leerCookie(nombreCookie)

Donde nombreCookie es el nombre de la cookie que buscamos, y el valor de la misma lo obtendremos en la variable valor de la instrucción return.


Borrar Cookies

Para borrar una cookie concreta basta con reescribirla poniendole una fecha de caducidad anterior a la actual.

document.cookie = "miCookie=valor;expires=1 Mar 1990 00:00:00 GMT"

En este ejemplo borramos la cookie llamada miCookie, el valor que le damos es irrelevante, ya que se va a borrar; la fecha debe ser una fecha que ya ha pasado, lo cual hace que la cookie se borre.

Si lo que pretendemos es borrar todas las cookies entonces tendremos que usar una función más complicada, ya que debemos buscar todas las cookies, y mediante un bucle buscar el nombre de cada una de ellas, para luego ir borrandolas. El proceso es parecido a cuando buscamos el valor de una cookie concreta; aunque puede haber varias maneras de hacerlo, nosotros lo haremos mediante la siguiente función:

function borrar() {
         var lista = document.cookie.split(";");
         for (i in lista) {
             var igual = lista[i].indexOf("=");
             var nombre = lista[i].substring(0,igual);
             lista[i] = nombre+"="+""+";expires=1 Dec 2000 00:00:00 GMT"
             document.cookie = lista[i]
             } 
         }




En la siguiente página veremos unos ejemplos en los que se aplican las cookies para cambiar el aspecto de la página.

Ejemplo de cookies.



manual de Javascript

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com