Est-il possible, en JavaScript, de détecter lorsque l'écran est éteint dans l'Android & iOS navigateurs

J'ai été suivi quelques ridiculement élevé de temps de chargement que mon application javascript signalé, et a constaté que Android (et iOS) pause certains d'exécution de JavaScript, lorsque la fenêtre est en arrière-plan ou l'écran est éteint.

Sur Android, j'ai trouvé que je pouvais utiliser le window.onfocus et onblur événements pour détecter le moment où l'application a été de passer à l'arrière-plan (et js exécution allait bientôt être mis en pause, au moins pour les nouveaux scripts), mais je ne peux pas trouver un moyen de détecter lorsque l'écran est allumé ou éteint. Est-ce possible?

(Sur Safari, j'ai eu des résultats similaires, sauf que onfocus et onblur n'ai pas de feu de manière fiable.)

  • Ne tournant l'écran et s'éteint pas le feu de la onblur et onfocus événements, étant donné qu'Android va généralement à une sorte d'écran de verrouillage? Je pense que le tournant sur la puissance de feu onblur, et à tout le moins le réveiller aurait le feu onblur (si l'éteindre ne fonctionne pas) parce que Android est l'écran de verrouillage, puis après avoir passé l'écran de verrouillage, onfocus aurait le feu, puisque vous êtes la transition à partir de l'écran de verrouillage à l'actif de l'app. Je ne suis pas un expert Android, mais pensé que je jetterais cette pensée si vous n'aviez pas coché.
  • Eh bien, le mien n'avait pas quand je l'ai testé, mais maintenant que tu en parles, j'avais désactivé l'écran de verrouillage. Elle retourne à la dernière application, j'avais ouvert dès que j'ai touché le bouton d'alimentation. L'activation de l'écran de verrouillage causé focus et blur événements pour être déclenché. Merci!