Hola nuevamente. Aquí dejo mi solución. A partir del siguiente código...
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function eraseCookie(name) { createCookie(name,"",-1); }
a) ¿Para qué sirve la función createCookie? Explica paso a paso qué es lo que hace esta función.
Sirve como su nombre indica para crear una cookie. Esta función recibe tres datos, name,value y days. Si days contiene algo se ejecutará el if y se crea una fecha tomando la fecha actual y sumándole los días que contenga el 'days' que será la fecha de expiración de la cookie, si 'days' no contuviese un valor válido, la cookie se crearía igualmente con la única diferencia de que cuando se cierre el navegador la cookie se borrará.
b) ¿Para qué sirve la función eraseCookie? Explica paso a paso qué es lo que hace esta función.
Sirve para borrar una cookie, especificandole el name de dicha cookie. Lo que hace es invocar a la función createCookie() enviandole como valor de dias '-1',de esta manera se creará una cookie con la fecha de expiración ya rebasada y esta se borrará automaticamente.
c) Escribe el código de una función de nombre mostrarTodasLasCookies() que muestre el nombre y valor de todas las cookies existentes. Por ejemplo, si hay dos cookies deberá mostrarse algo como esto:
Hay 2 cookies en el documento
Cookie 1 con nombre: cookieNombreUsuario y valor: Alberto
Cookie 2 con nombre cookieEdadUsuario y valor 8
d) Usando las funciones createCookie, eraseCookie y mostrarTodasLasCookies() crea un script que pida 3 nombres y valores de cookies al usuario, y cree las cookies correspondientes. A continuación deberá mostrar las cookies existentes y sus valores. Finalmente, deberá borrar la última cookie existente y volver a mostrar todas las cookies y sus valores.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo aprenderaprogramar.com JavaScript CU01188E</title><meta charset="utf-8">
<style>
#pulsador {padding:15px; width: auto; display: inline-block; margin: 25px;
cursor: pointer; color: yellow; border-radius: 40px; background: purple;}
</style>
<script type="text/javascript">
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
} else {
var expires = "";
}
document.cookie = name+"="+value+expires+"; path=/";
}
function eraseCookie(name) { createCookie(name,"",-1); }
function mostrarTodasLasCookies(){
var misCookies = [];
misCookies = document.cookie.split(';');
var msg = 'Actualmente hay ' + misCookies.length + ' cookies en el documento.<br/>';
for(var i=0; i<misCookies.length; i++){
msg += 'Cookie nº' + (i+1) + ' con nombre: ' + misCookies[i].split('=',1) + ' y valor: ';
var nombre = misCookies[i].split('=',1) + '=';
var valor = misCookies[i];
msg += valor.substring(nombre.length,valor.length) + '<br/>';
}
return msg;
}
function pedirDatosCookies(){
var nombre = [], valor = [];
for (i=0; i<3; i++){
nombre[i] = prompt('Inserte el nombre para la cookie número ' + (i+1) + ': ');
valor[i] = prompt('Insete el valor para la cookie número ' + (i+1) + ': ');
createCookie(nombre[i], valor[i], 1);
}
document.getElementById('contenedorCookies').innerHTML = 'Lista de cookies: <br/>' + mostrarTodasLasCookies() + '<br/><br/>';
var misCookies = document.cookie.split(';');
document.getElementById('contenedorCookies').innerHTML += 'Ahora borraremos la última cookie creada, que es: ' + misCookies[misCookies.length-1];
eraseCookie(misCookies[misCookies.length-1].split('=', 1));
document.getElementById('contenedorCookies').innerHTML += '<br/><br/>La lista de cookies queda asi: <br/>' + mostrarTodasLasCookies();
}
</script>
</head>
<body>
<h3>Crearemos 3 cookies e interactuaremos sobre ellas</h3>
<div id ="pulsador" onclick="pedirDatosCookies()"> Probar </div>
<div id="contenedorCookies"></div>
</body>
Saludos.