我在这里遇到一个非常奇怪的问题,那就是检测屏幕是否打开/处于活动状态。我正在开发的平台是KaiOS(Firefox OS),众所周知,该OS具有非常有限的硬件/设备组合,因此是我的“问题”。
我在这里拥有的应用程序要求我每秒钟POST到服务器(特别是Kodi JSON-RPC服务器),然后更新HTML计量表和指示经过时间的标签。我使用setTimeout(updateTimeElapsed, 1000)
执行此操作。 (对于功能电话设备)这是相当耗费资源的,需要一直激活WiFi。
我要尝试(非常失败)的任务是检测屏幕是否打开,然后每1秒钟调用updateTimeElapsed
函数(希望确保屏幕关闭后,刷新将停止) ,并且一旦屏幕打开,刷新就会继续)。有什么办法可以做到这一点?
答案 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
}
});