Esiste un modo per fermare setTimeout("myfunction()",10000);
dal conteggio quando la pagina non è attiva. Per esempio,Run setTimeout solo quando scheda è attiva
- Un utente arriva a una "qualche pagina" e vi rimane per 2000ms
- utente va a un'altra scheda, lascia "un po 'di pagina" aperta.
myfunction()
non viene generato fino a quando hanno tornare per un altro 8000ms.
A meno che non mi manca qualcosa, questo non verrà eseguito funzioni setInterval al caricamento della pagina iniziale prima di eventuali interazioni degli utenti, come fa clic sulla pagina, dal momento che l'evento 'onfocus' non sembra di sparare al caricamento della pagina iniziale. –
@torazaburo Inizialmente, 'window.blurred' sarà' undefined' che è la stessa come se fosse 'false'. Quindi, il timer inizia automaticamente il conto alla rovescia. Notare come il 'setInterval' viene eseguito immediatamente - non attende la messa a fuoco o la sfocatura. –
È possibile utilizzare document.hidden: https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API#document.hidden_Read_only – SleepWalker