Estoy escribiendo una aplicación web que realiza una acción cada minuto aproximadamente que (muy brevemente) bloquea el navegador. Me gustaría detener esta acción cuando no se muestra la pestaña que muestra la aplicación web, para minimizar la molestia. ¿Hay alguna forma de hacer esto usando Javascript, bajo la última versión de Firefox?Detectando la visibilidad de las pestañas en Firefox
Editar: Para aclarar, estoy preguntando cómo determinar la visibilidad de la pestaña en la que se está ejecutando algún código JS, no cómo pausar/reanudar la acción que bloquea el navegador.
¿por qué el cheque if (isFocused == verdadero)? –
Estaba usando una alerta durante la depuración, cuando apareció, también disparó el evento de desenfoque y fue un desastre total: D. Además, Firefox no reconoce y notifica JavaScript sobre el cambio de pestañas en tiempo real con mucha precisión. (Sé por experiencia el desarrollo de complementos) A veces, es posible que estos eventos se activen dos veces, etc. Dependiendo de su código, esto puede ser inofensivo o arruinarlo por completo. Por lo tanto, solo me aseguro de configurar la variable como 'desenfocada' solo si está enfocada ahora. ¿Por qué cambiarlo a "desenfocado" cuando ya está "desenfocado"? Obtener lo que estoy diciendo? –
Ya veo. Pero la declaración if solo tiene sentido si realmente estás haciendo algo dentro de ella (algo que podría arruinar tu página si la ejecutaras dos veces seguidas). En este caso concreto, es totalmente redundante, ya que no importa si la variable se establece dos veces con el mismo valor ... –