Estoy usando un generador de páginas html de unlayer. Una vez que el usuario hace clic en el botón Guardar, obtengo el html así:
document.getElementById("save").addEventListener("click", () => { unlayer.exportHtml(function (data) { var bl = new Blob([html], { type: "text/plain" }); var a = document.createElement("a"); a.download = "download-name-here.html"; a.hidden = true; document.body.appendChild(a); let blob = a; a.href = fetch(a).then(r => r.blob()); a.click(); const reader = new FileReader(); // This fires after the blob has been read/loaded. reader.addEventListener('loadend', (e) => { const text = e.srcElement.result; console.log(text); createCookie("myCookieCustom", text, "10"); }); }); });y cuando consola.log el var "texto" obtengo el html perfectamente pero no se guarda en la función createCookie. Probé "hola" en lugar de texto en crear cookie y funcionó. Alguna idea de como resolver esto? en caso de que esté usando las siguientes funciones para guardar y configurar cookies:
function createCookie(name, value, days) { var expires; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 4 * 1 * 1 * 1000)); expires = "; expires=" + date.toGMTString(); } else { expires = ""; } document.cookie = escape(name) + "=" + escape(value) + expires + "; path=/"; } function getCookie(name) { var dc = document.cookie; var prefix = name + "="; var begin = dc.indexOf("; " + prefix); if (begin == -1) { begin = dc.indexOf(prefix); if (begin != 0) return null; } else { begin += 2; var end = document.cookie.indexOf(";", begin); if (end == -1) { end = dc.length; } } // because unescape has been deprecated, replaced with decodeURI //return unescape(dc.substring(begin + prefix.length, end)); return decodeURI(dc.substring(begin + prefix.length, end)); }Puede ver el html y css completos aquí en un fragmento de w3 que hice: https://www.w3schools.com/code/tryit.asp?filename=GUCW5XSUMN1L y estoy revisando la cookie en php con (no necesito ayuda con php que estoy bien con)
<?php echo $_COOKIE["myCookieCustom"]; ?>Gracias por adelantado.