Soy nuevo en javascript y he estado tratando de programar un aviso de barra de cookies.
Aprendí a usar javascript para insertar el html de la barra de cookies en la página y cómo crear una cookie con el par nombre/valor (CookieConsent=true) una vez que se hace clic en el botón de aceptar.
Pero me he quedado atascado comprobando si la cookie específica (CookieConsent=true) está presente una vez que la página se ha cargado y hacer lo siguiente:
Estoy tratando de asegurarme de que la función de verificación de cookies se active cuando la página se haya cargado y haya elegido ir con EventListener - DOMContentLoaded por ahora.
Aquí hay un ejemplo básico para ilustrar el diseño de mis códigos:
// When DOM has loaded trigger cookieCheck function document.addEventListener('DOMContentLoaded', cookieCheck); // Checks whether cookie is present and whether to execute cookiebar function or not function cookieCheck() { } // Insert HTML for cookiebar notice and accept button into page function cookiebar() { // The accept button triggers the create cookie function with // a name/value pair of CookieConsent=true } // Creates consent cookie function createCookie() { }No voy a incluir el código que intenté escribir para mi problema, ya que es un completo desastre que no tiene sentido. Lo siento.
He estado usando el tutorial de cookies de javascript de w3schools y he encontrado muchos otros ejemplos en Internet sobre cómo configurar, obtener y verificar las cookies. Pero para mi código, estoy completamente atascado.
Puedes probarlo con esta solución:
// When DOM has loaded trigger cookieCheck function document.addEventListener('DOMContentLoaded', cookieCheck); // Checks whether cookie is present and whether to execute cookiebar function or not function cookieCheck() { const cookies = getCookies(); if(cookies.CookieConsent) { /** * Do your stuff when cookie is set **/ cookiebar(); } else { /** * Do your stuff when cookie is NOT set **/ } } // Insert HTML for cookiebar notice and accept button into page function cookiebar() { /** * Function for CookieBar insertion **/ } // Creates consent cookie function createCookie(name, value) { document.cookie = [name, value].join('='); } function getCookies() { let cookies = {}; document.cookie.split(";").forEach((cookie) => { cookie = cookie.trim().split("="); let name = cookie[0]; let val = cookie[1]; cookies[name] = val; }); return cookies; }