使用 JavaScript 检测屏幕开/关

问题描述 投票:0回答:1

我这里有一个非常奇怪的问题,那就是检测屏幕是否打开/活动。我正在开发的平台是 KaiOS(Firefox OS),正如许多人已经知道的那样,这个操作系统的硬件/设备组合资源非常有限,因此我的“问题”。

我这里的应用程序要求我每秒 POST 到服务器(特别是 Kodi JSON-RPC 服务器),然后更新 HTML 仪表和指示已用时间的标签。我使用

setTimeout(updateTimeElapsed, 1000)
来执行此操作。这是相当资源密集型的(对于功能手机设备而言),需要一直激活 WiFi。

我试图(非常不成功)实现的是检测屏幕是否打开,然后每 1 秒调用

updateTimeElapsed
函数(这希望确保一旦屏幕关闭,刷新就会停止,一旦屏幕关闭,刷新就会停止)已打开,刷新继续)。有什么办法可以达到这个目的吗?

javascript html http firefox-os
1个回答
2
投票

您可以使用

visibilitychange
事件并检查
document.visibilityState

像这样使用它:

document.addEventListener('visibilitychange', function() {
  if(document.visibilityState == 'hidden') {
    //enter code for pausing refresh
  }
  else if(document.visibilityState == 'visible') {
    //resume refresh
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.