Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

190
Visualizações
¿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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda