Nei moderni
browser (anche IE 11), è presente la
Page Visibility API che permette di identificare se il
tab corrente è attivo (visualizzato) o meno (nascosto).
La proprietà per verificare lo stato di visibilità è
document.visibilityState che puo ritornare
visible o
hidden.
Esiste anche un
evento che può notificare il cambio di stato
visibilitychangefunction onVisibilityChange ()
{
if (document.visibilityState === "hidden") {
console.log("Tab nascosto");
} else {
console.log("Tab visibile");
}
}
document.addEventListener('visibilitychange', onVisibilityChange, false);
L'evento viene invocato sia se si cambia tab, sia se si riduce la finestra ad icona.
Non viene invocato se la finestra viene coperta da un altra finestra.