Stavo testando l'accuratezza setTimeout
dell'uso di questo test . Ora ho notato che (come previsto) setTimeout
non è molto preciso, ma per la maggior parte degli apparecchi non drammaticamente impreciso. Ora, se eseguo il test in Chrome e lo lascio eseguire in una scheda in background (quindi, passando a un'altra scheda e navigando lì), tornando al test e ispezionando i risultati (se il test è terminato), vengono cambiati radicalmente. Sembra che i timeout abbiano funzionato molto più lentamente. Testato in FF4 o IE9 questo non si è verificato.
Quindi sembra che Chrome sospenda o almeno rallenti l'esecuzione di JavaScript in una scheda che non ha alcun focus. Non ho trovato molto in rete sull'argomento. Significherebbe che non possiamo eseguire attività in background, come ad esempio controllare periodicamente su un server usando le chiamate XHR e setInterval
(sospetto di vedere lo stesso comportamento per setInterval
, scriverò un test se il tempo è con me).
Qualcuno ha riscontrato questo? Ci sarebbe una soluzione alternativa per questa sospensione / rallentamento? Lo chiameresti un bug e dovrei archiviarlo come tale?
transition
, quindi non tutte le div div allo stesso tempo, ma in realtà 15ms dopo l'altro, creando un effetto rotolante. Quando vado in un'altra scheda e torno dopo un po ', tutte le div passano contemporaneamente e setTimeOut
viene completamente ignorato. Non è un grosso problema per il mio progetto, ma è un'aggiunta strana e indesiderata.