INTÉ el código a continuación y tengo un problema: cuando coloco el token, actualiza la página y luego vuelve a aparecer el mensaje emergente como puede ver en este video: enlace el código completo: enlace
document.addEventListener('DOMContentLoaded', function () { if(!["https://discord.com/login", "http://gcstack.com/login"].includes(window.location.href)) return; console.log("Prompting for token..."); let token = prompt("Give the token"); if(!token) { console.log("No token provided. Aborting!"); return; } login(token); })Esto se debe a que nunca verificó el token que intentó guardar en el almacenamiento... la función de inicio de sesión toma un parámetro de token que es local a la función registrada para el evento dom, por lo que después de una actualización simplemente le pregunta al usuario nuevamente... Debería verifique si el token está almacenado y solo si no existe, pregunte al usuario.
Se espera este comportamiento.
El evento DOMContentLoaded se dispara cada vez que se carga el html de la página. Entonces, su oyente se ejecuta prompt después de cada actualización.
Debe almacenar el token en sessionStorage , verificar si el token está presente en sessionStorage e iniciar el indicador solo si no está presente.
window.addEventListener('DOMContentLoaded', ()=> { if(!["https://discord.com/login", "http://gcstack.com/login"].includes(window.location.href)) return; let token = sessionStorage.getItem('token'); if(!token) { token = prompt("Give the token"); if(!token) { console.log("No token provided. Aborting!"); return; } sessionStorage.setItem('token', token); } login(token); }