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

185
Vistas
¿Cómo responde el navegador en varias situaciones cuando la ventana no está enfocada?

Supongamos que tiene una aplicación de una sola página con algo de JavaScript que tiene algunas funciones diferentes:

  • Una operación de sondeo que actualiza la interfaz de usuario cada 5 segundos con notificaciones.
  • Una conexión websocket (o eventos del lado del servidor HTTP) que le indica al navegador que se actualice por completo con location.reload() si se implementan algunos cambios nuevos en el código base.
  • Un temporizador de 15 minutos que cierra la sesión después de 15 minutos (borra las cookies y cierra la sesión de llamadas desde la interfaz).

Qué sucede en estos escenarios en todos los navegadores:

  1. ¿Cambia de pestaña en el navegador y se desdibuja (pierde el foco) en su aplicación web?
  2. ¿Desdibujas la pestaña, minimizas el navegador y luego vuelves a abrir el navegador?
  3. ¿Cierras la tapa de tu laptop y la vuelves a abrir?

Para 2 y 3, hay dos casos adicionales:

  1. Dejas la pestaña desenfocada (es decir, la aplicación web está en otra pestaña escondida).
  2. O, alternativamente, vuelve a concentrarse en la pestaña de su aplicación web.

¿Qué sucede aquí con los temporizadores y los eventos / websockets enviados por el servidor? ¿Todavía funcionan? Si inicia el temporizador de 15 minutos, luego cierra su computadora durante 20 minutos, la vuelve a abrir y nunca vuelve a enfocarse en la pestaña, ¿se cerrará la sesión?

Hace unos años implementé una función de "cerrar sesión después de un intervalo de tiempo x", como probablemente lo haya hecho su banco. Pero olvido exactamente las complejidades de cómo funciona en estas situaciones, por lo que sería útil escribirlas como notas para que la próxima persona se beneficie.

A mi entender y pruebas básicas/parciales:

  1. Si simplemente borra su pestaña (es decir, visita otra pestaña que no sea su aplicación web) y un temporizador, websockets o eventos van a activar una actualización de la página, la página se actualizará incluso si está en otra pestaña que está borrosa.
  2. Si inicia un temporizador de 15 minutos, cierra su computadora durante 5 minutos y la vuelve a abrir, pero nunca enfoca su ventana, ¿el temporizador seguirá girando durante 15 minutos o solo 10 minutos?
  3. Si inicia un temporizador de 15 minutos, cierra su computadora durante 20 minutos y la vuelve a abrir pero no se enfoca, ¿se cerrará la sesión detrás de escena?

Resumen

Para resumir:

  1. ¿Qué sucede cuando cierra su aplicación y/o cierra su computadora portátil y la vuelve a abrir? ¿Todo continúa donde lo dejó, no funciona en absoluto o qué?
about 4 years ago · Juan Pablo Isaza
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