2010-07-16 15 views
5

Me gustaría poder silenciar la actividad de mi aplicación si puedo detectar que la página ya no está enfocada. Por ejemplo, si la página está en una pestaña de fondo o si otra aplicación tiene foco, me gustaría desactivar un script de sondeo constante o cambiar las notificaciones modales a la nueva API de notificaciones HTML5.Determinar si la página web tiene foco de ventana en primer plano/está en la pestaña activa?

¿Hay alguna forma de obtener esto con JS, y si es así, qué navegadores son compatibles?

PD - He visto this, pero no sé si funcionaría para lo que estoy buscando hacer. ¿Alguien tiene alguna idea?

Respuesta

15

Puede detectar el evento blur en su window, entonces para cuando el usuario regresa, se puede utilizar el focus evento:

He aquí un ejemplo de jQuery:

$(window).blur(disableStuff).focus(enableStuff); 

O en pura JavaScript:

window.onblur = disableStuff; 
window.onfocus = enableStuff; 
+0

Impresionante, voy a ver esto mañana! – mattbasta

+0

¡Funciona! ¡Hermosa! – mattbasta

Cuestiones relacionadas