2010-07-16 23 views
5

Mi piacerebbe poter disattivare l'attività della mia app se riesco a rilevare che la pagina non è più focalizzata. Ad esempio, se la pagina si trova in una scheda di sfondo o un'altra app è attiva, vorrei disabilitare uno script di polling costante o passare le notifiche modali alla nuova API di notifiche HTML5.Determina se la pagina web ha lo stato attivo della finestra in primo piano/è attiva?

C'è un modo per ottenere questo con JS, e se sì, quali browser sono supportati?

PS - Ho visto this, ma non so se avrebbe funzionato per quello che sto cercando di fare. Qualcuno ha qualche intuizione?

risposta

15

È possibile intercettare l'evento blur sul window, poi per quando l'utente ritorna, è possibile utilizzare l'evento focus:

Ecco un esempio in jQuery:

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

O in puro JavaScript:

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

Impressionante, controllerò questo domani! – mattbasta

+0

Funziona! Bellissimo! – mattbasta

Problemi correlati