JavaScript - no ejecuta el confirm tras setinterval

Filtrado por el usuario: joel
<<>>
Filtrado por el usuario 'joel' (Eliminar fitro)
 
Vista:

no ejecuta el confirm tras setinterval

Publicado por volar5 (3 intervenciones) el 15/07/2025 11:19:11
Hola:

Tengo

let tiempoRestante = 1200; // segundos
let tiempoAviso = 60; // segundos antes de finalizar la sesión
let sesionExpirada = false;

function mostrarAviso() {
if (tiempoRestante <= tiempoAviso && !sesionExpirada) {
const confirmacion = "Tu sesión está a punto de expirar. ¿Deseas continuar? Tiempo restante: " + tiempoRestante+ " segundos.";
if (confirm(confirmacion)) {
alert('confirmado')
// Usuario ha confirmado, reinicia el contador y resetea la bandera
tiempoRestante = 1200;
sesionExpirada = false;
} else {
// Usuario ha cancelado, redirige a la página de inicio de sesión o cierra sesión
sesionExpirada = true;
// window.location.href = "/logout"; // Reemplaza con tu lógica de cierre de sesión
}
}
}

function reducirTiempo() {
if (!sesionExpirada) {
tiempoRestante--;
if (tiempoRestante > 0) {
mostrarAviso();
}
}
}

// Inicia el temporizador para reducir el tiempo y mostrar el aviso
setInterval(reducirTiempo, 1000); // Cada segundo

No ejecuta el confirm nunca. Se trata de avisar de fin de sesión, 1200 segundos.

Muchas gracias por cualquier ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

no ejecuta el confirm tras setinterval

Publicado por Alejandro (542 intervenciones) el 21/07/2025 20:49:01
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
El código no contiene errores, pero "teóricamente" deberás esperar 19 minutos para que aparezca el confirm.
La realidad es que setInterval se retrasar y esos 19 minutos pueden extenderse mucho más del tiempo esperado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar