使用JavaScript检测屏幕的开/关

时间:2019-03-21 14:19:17

标签: javascript html http firefox-os

我在这里遇到一个非常奇怪的问题,那就是检测屏幕是否打开/处于活动状态。我正在开发的平台是KaiOS(Firefox OS),众所周知,该OS具有非常有限的硬件/设备组合,因此是我的“问题”。

我在这里拥有的应用程序要求我每秒钟POST到服务器(特别是Kodi JSON-RPC服务器),然后更新HTML计量表和指示经过时间的标签。我使用setTimeout(updateTimeElapsed, 1000)执行此操作。 (对于功能电话设备)这是相当耗费资源的,需要一直激活WiFi。

我要尝试(非常失败)的任务是检测屏幕是否打开,然后每1秒钟调用updateTimeElapsed函数(希望确保屏幕关闭后,刷新将停止) ,并且一旦屏幕打开,刷新就会继续)。有什么办法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用visibilityChange事件并检查document.visibilityState

像这样使用它:

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