Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

199
Vistas
Setinterval deja de funcionar cuando la pestaña está inactiva o trabajando en otra pestaña,

Creé una solución para la ventana emergente de tiempo de espera de sesión, para verificar el tiempo de inactividad, estoy usando un setInterval como se menciona a continuación

 // Increment the idle time counter every 1 second. idleInterval = setInterval(timerIncrement, 2000, (@warningShowDelayMinutes * 60), (@sessionTimeout * 60), @warningTimeLeft); function timerIncrement(warningShowDelay, sessionTimeout) { idleTime++; console.log("before dialog open idleTime - :" + idleTime); if (idleTime >= warningShowDelay && idleTime <= sessionTimeout) { var isWarningPopupOpened = $('#session-expire-warning').dialog('isOpen'); if (!isWarningPopupOpened) { $("#session-expire-warning").dialog("open"); //console.log("before dialog after idleTime -:" + idleTime); } } }

pero cuando nos movemos a otra pestaña/otra ventana, setInterval deja de funcionar, también probé con requestAnimationFrame pero también deja de funcionar después de que nos movemos a otra pestaña o ventana como se menciona a continuación.

 var last = 0; function timerIncrement(now) { if (!last || now - last >= 1000) { last = now; //createNewObject(); idleTime++; console.log("before dialog open idleTime - :" + idleTime); if (idleTime >= (@warningShowDelayMinutes * 60) && idleTime <= (@sessionTimeout * 60)) { var isWarningPopupOpened = $('#session-expire-warning').dialog('isOpen'); if (!isWarningPopupOpened) { $("#session-expire-warning").dialog("open"); console.log("before dialog after idleTime -:" + idleTime); } } } requestAnimationFrame(timerIncrement); } requestAnimationFrame(timerIncrement);

¿Alguien puede ayudar en esto para continuar con setinetrval o requestAnimationFrame después de cambiar de pestaña? soy nuevo en javascript

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede usar el paquete NPM de temporizadores de trabajo para superar este obstáculo. Utiliza el trabajador web para evitar que el navegador acelere los temporizadores.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda