Tengo un problema. Quiero crear una cookie en JavaScript y lo hago de la siguiente manera: document.cookie = "type=banner;expires=Thu, 25 Nov 2020 08:50:17 GMT"; Ahora el problema es que cuando cierro el navegador quiero que caduque esta cookie y también crear una nueva como este document.cookie = "type=popup;expires=Thu, 25 Nov 2020 08:50:17 GMT";
¿Cómo puedo lograr la siguiente funcionalidad en JavaScript?
En primer lugar, puede escuchar el evento beforeunload . Esto sucede "cuando la ventana, el documento y sus recursos están a punto de descargarse". BeforeUnloadEvent: API web . Una cookie se puede eliminar estableciendo su expires en cero Document.cookie-Web API . Y luego puedes agregar el nuevo.
window.addEventListener('beforeunload', e => { //"delete" the old cookie document.cookie = "type=banner;expires=0"; //add the new cookie var expires = new Date(); expires.setHours(expires.getHours()+2); // expires in two hours document.cookie = `type=popup;expires=${expires.toUTCString()}`; });