Como programar la ley de cookies con Javascript

Como programar la ley de cookies con Javascript

Print Friendly, PDF & Email
Como programar la ley de cookies con Javascript
Valora esta entrada

La RGPD pide que las páginas webs pidan el consentimiento a los usuarios antes de instalar cualquier cookie y que informen al usuario para que se van a usar. Es lo que popularmente se refiere a la ley de cookies.

En este ejercicio vamos a programar un mensaje emergente que pedirá el consentimiento al usuario. Mediante una cookie la web recordará si un usuario ya consintió en el pasado o no.

A nivel de CSS los conocimientos indispensables básicos son:

  • Posicionamiento fijo de capas html

A nivel de Javascript trabajaremos con:

  • Asignación de eventos al cargar un formulario web.
  • Condicionales
  • Uso de cookies mediante la bibioteca de funciones de cookies adjunta con el ejercicio.

Se trata en realidad de un ejercicio simple. Típicamente se resolvería con jQuery pero nosotros lo hacemos con javascript puro a modo didáctico.

Enunciado

En este enlace vas a encontrar los archivos de este enunciado.

  • Haz que cuando se cargue la página web aparezca un banner informando a los usuarios que la página web usa cookies para ofrecer una mejor experiencia de usuario a los visitantes.
  • Cuando el usuario haga clic en aceptar la página web recordará esta acción durante 365 días.
  • Cualquier usuario que ya aceptó la cláusula en el pasado, durante el plazo de 365 días no volverá a ver la ventana emergente.

Como modelo puedes seguir la imagen adjunta en este ejercicio.

Puedes estilizar la alerta como desees. Arriba, abajo, en un lateral…

Propuesta resultado final ventana emergente ley de cookies
Propuesta resultado final ventana emergente ley de cookies

Solución del ejercicio

A nivel de CSS se elige un posicionamiento fijo para el banner.

Como peculiaridad podemos jugar con la propiedad opacity para el banner.ç

El botón de aceptar es en realidad un div al que se le asigna un hover y un evento mediante javascript.

Pasemos directamente a ver el código javascript.

¿Como queda el documento js?

window.onload=init;
function init(){
    bloqueRGPD = document.getElementById("emergenteRGPD");
    
    if(detectCookie("rgpdOK")){
        if (getCookie("rgpdOK")==1){eliminarBloqueRGPD();}
    }else{
        document.getElementById("botonRGPD").addEventListener("click",function(){
        eliminarBloqueRGPD();
        setCookie("rgpdOK",1,365);
        })        
    }
}

function eliminarBloqueRGPD(){
    bloqueRGPD.parentNode.removeChild(bloqueRGPD);
}

Hay dos funciones principales: initeliminarBloqueRGPD.

Dentro de init fijaros en el uso de una función anónima.

La idea de la resolución es que si se detecta una cookie se comprueba su valor. Si el valor es 1 directamente se elimina del DOM el bloqueRGPD.

En caso de que el valor sea cualquier otro o que no se detecte la cookie entonces sale la ventana emergente y se asigna comportamiento de botón al div.

Cuando se hace clic en el div se elimina el bloqueRGPD y se inserta una cookie de 365 días de duración.

¡Hola!

Querido lector,

La gracia de este ejercicio es tener a mano la biblioteca de funciones para trabajar la cookie.

Puedes descargar la solución entera en este enlace.

El siguiente paso sería resolver el ejercicio directamente con jquery.

¡Si te ha gustado este contenido te animo a seguirme en mi perfil de empresa de Linkedin!

Entradas relacionadas:

El Document object model (DOM) de Javascript
- 517
El DOM es un tipo especial de objeto que esquematiza las relaciones y interacciones entre los nodos de un documento web y que es creado por el navegador cada vez que interpreta una página web. Cada et...
Javascript: Estructura básica de un script
- 1542
¿Qué es programar? Programar es indicar a una máquina que siga un conjunto ordenado de instrucciones. Es una acción cotidiana que realizamos sin apercibirnos cuando seguimos una receta de cocina. Y si...
Ejercicio – El pokemon corredor
- 186
Ejercicio con solución dónde se usa setInterval y el posicionamiento relativo y absoluto de una caja html. Serie de ejercicios javascript.
Onresize window para calcular el width y el height disponibles
- 512
Explicamos como podemos obtener el ancho y la altura real disponibles de la ventana del navegador mediante Javascript puro y con jQuery
Como añadir nuevos nodos al DOM usando Javascript
- 776
En esta entrada vemos un tutorial paso a paso sobre como añadir nuevos nodos al DOM mediante Javacript con el ejemplo de un párrafo y el de una imagen.
Ejercicio – Diferencia entre ++x y x++ en Javascript
- 174
En esta publicación se repasa mediante ejercicios la diferencia entre escribir ++x y x++ o --x y x--. Es cuestión de pillarle el tranquillo.
Validación de formularios web: Como desactivar el envío con Javascript
- 781
Veamos como podemos deshabitar el envío de un formulario web mediante javascript. Explico el método clásico y otra alternativa más limpia mediante preventDefault().
Ejercicio – Generación de una fecha personalizada mediante javascript
- 167
Ejercicio javascript dónde se trabaja con fechas y los métodos para fechas con el objetivo de crear fechas con formato personalizado.
La etiqueta noscript
- 516
El desconocimiento hace que a menudo muchos usuarios decidan desactivar la opción de que nuestra navegador acepte y/o interprete este lenguaje de script. ¿Que podemos hacer para avisar a los usuarios ...
Ejercicio – Crear una lista de recordatorios
- 170
Ejercicio javascript solucionado para crear una lista de recordatorios y que es capaz de resetear todos los nodos. Apuntes de clase.
Francesc Ricart
hola@francescricart.com

Soy un ingeniero industrial a quién le apasiona aprender y enseñar. En el mundo del marketing online he encontrado una de mis pasiones. Ejerzo como docente ocupacional y privado para empresas. Y también hago consultoría web para PIMES, autónomos y otros emprendedores como yo. Ayudo a las empresas en cualquier temática relacionada con su presencia digital y herramientas web. Aunque mi especialidad es el posicionamiento en buscadores (SEO). A nivel de formación lo que más feliz me hace es que un alumno haga de mi pasión una forma de vida y le ayude a encontrar trabajo. A nivel de negocios ayudo a empresarios a desenvolverse con soltura en el mundo digital y les animo a hacer cada vez más cosas que nunca hubieran imaginado que ellos también podían hacer. En este camino les ayudo haciendo todo aquello dónde ellos no llegan y crecemos juntos. Encontraréis más acerca de mi en la página sobre mi

No hay comentarios

Escribir un comentario

  Acepto la política de privacidad

Responsable: FRANCESC RICART MUÑOZ.

Finalidad: Gestionar los comentarios que realizas en este blog.

Destinatarios: No se cederán datos a terceros, salvo obligación legal.

Derechos: Tienes derecho a acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la política de privacidad.