Funciones Cookie

Son la forma de guardar una pequeña porción de información en el navegador de un visitador. Algunas personas no les gustan y se ponen paranoicos porque se sienten que los autores del web los están siguiendo, pero usualmente estas son utilizadas para recoger una pequeña información sobre sus visitadores.

Información como:

La utilización de cookies no es algo específico en DHTML o JavaScript, casi cualquier lenguaje de programación es capaz de producirlas como Java, Perl, ASP, C++, etc. Por el lado del servidor los lenguajes son hechos con imprimir una línea de texto antes de que sean mostrados los contenidos del HTML. Una ventaja que tiene JavaScript es que te puede dar una Cookie en cualquier momento que este observando una pagina, no tienes que ir a otra pagina para que tengas una Cookie.

En DynAPi hay un fichero llamado cookie.js el cual puedes utilizar para así guardar, leer y borrar cookies. Incluye el fichero y tendrás tres funciones:

guardar Cookie(nombre,valor,días) "saveCookie(name,value,days)"

El nombre del cookie puede ser variable para tu gusto, este será de la forma en que tu hagas referencia al valor de la Cookie. El valor es la pieza de información que tu deseas guardar. Esta puede ser una Tira (String) o Números, en cualquier caso esta actualmente será guardada como una Tira. Los días significa cuanto tiempo la cookie será guardada antes de que expire. Si solamente deseas guardar la cookie para la sección del navegador actual, 0 deberá de ser el número de días.
saveCookie("favourite cookie","chocolate chip",360)  // guardar por 1 año

readCookie(name)

Esto devolverá el valor de la Cookie como una Tira (String) si la Cookie no existe, esta devolverá el valor nulo. Normalmente leerás una Cookie así:
var favcookie = readCookie('favourite cookie')

if (mycookie==null) {  // cookie no existe
	
}
else {  // cookie existe
	
}

El valor es un número que tienes que utilizar en el parseInt() para hacerlo un "integer".

borrarCookie(nombre)"deleteCookie(name)"

Esto borrará la Cookie. Actualmente todo lo que hace es guardarla de nuevo con los días valor de -1 lo cual significa la Cookie expiró ayer
borrarCookie('favorita cookie') "deleteCookie('favourite cookie')"

El ejemplo de arriba contará el número de veces que leas la página. Cuando de nuevo recargues el número ira hacia arriba. Yo leo el valor de una Cookie, y escribo una línea dependiendo del valor de la Cookie luego incremento el contador utilizando parseInt() para estar seguro que es un número, y luego la guardo de nuevo:

var count = readCookie('pagecount')  // leer la 'cuentadelapagina'cookie

if (count==null) {  // si no hay cookie
	document.write("<li>never visiting this page before")
	count = 0  // fijar el contador a  0
}
else {  // si existe cookie 
	document.write("<li>visited this page "+count+" times before")
}

count = parseInt(count)+1  // incremento el contador

saveCookie('pagecount',count,360) // guardar 'cuentadelapagina' cookie por 360 días

Ejemplo cookies1.html [fuente]

Casa Próxima Lección: Creando Reusable Widgets
copyright 1998 Dan Steinman