Обнаружение включения / выключения экрана с помощью JavaScript - PullRequest
2 голосов
/ 21 марта 2019

У меня здесь очень странная проблема, и она заключается в определении, включен ли экран или нет.Платформа, для которой я разрабатываю, - KaiOS (Firefox OS), и, как многие уже знают, эта ОС имеет очень ограниченные ресурсы оборудования / устройств, поэтому моя «проблема».

Требуемое здесь приложение требуетМне нужно POST к серверу (в частности, к JSON-RPC-серверу Kodi) каждую секунду, а затем обновлять HTML-индикатор и метку с указанием прошедшего времени.Я использую setTimeout(updateTimeElapsed, 1000), чтобы выполнить это.Это довольно ресурсоемкий (для обычного телефонного устройства), предполагающий постоянную активацию WiFi.

То, что я пытаюсь (очень безуспешно) добиться, - это определить, включен экран или нет, а затем вызывать функцию updateTimeElapsed каждую 1 секунду (которая, как мы надеемся, гарантирует, что после отключения экрана обновление будетостановка, и как только экран включен, обновление продолжается).Есть ли способ добиться этого?

1 Ответ

0 голосов
/ 21 марта 2019

Вы можете использовать событие visibilityChange и проверить document.visibilityState.

Использовать его так:

document.addEventListener('visibilityChange', function() {
  if(document.visiblityState == 'hidden') {
    //enter code for pausing refresh
  }
  else if(document.visibilityState == 'visible') {
    //resume refresh
  }
});
...