我这里有一个很奇怪的问题,那就是检测屏幕是否打开/事件。我正在开发的平台是 KaiOS (Firefox OS),正如许多人所知,该操作系统的硬件/设备组合资源非常有限,因此是我的“问题”。
我这里的应用程序要求我每隔一秒向服务器(特别是 Kodi JSON-RPC 服务器)发送一次 POST,然后更新一个 HTML 仪表和标签,指示耗时。我使用 setTimeout(updateTimeElapsed, 1000)
来执行此操作。这是相当耗费资源的(对于功能手机设备),涉及始终激活 WiFi。
我试图(非常不成功)实现的是检测屏幕是否打开,然后每 1 秒调用一次 updateTimeElapsed
函数(希望确保一旦屏幕关闭,刷新将停止,一旦屏幕打开,刷新将继续)。有什么办法可以实现吗?
最佳答案
您可以使用 visibilitychange
事件和检查 document.visibilityState
.
像这样使用它:
document.addEventListener('visibilitychange', function() {
if(document.visiblityState == 'hidden') {
//enter code for pausing refresh
}
else if(document.visibilityState == 'visible') {
//resume refresh
}
});
关于javascript - 使用 JavaScript 检测屏幕开/关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55282536/