【问题标题】:Detect screen on/off with JavaScript使用 JavaScript 检测屏幕开/关
【发布时间】:2019-08-12 10:22:21
【问题描述】:

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

我在这里的应用程序要求我每秒钟向服务器(特别是 Kodi JSON-RPC 服务器)发布一次,然后更新一个 HTML 仪表和指示已用时间的标签。我使用setTimeout(updateTimeElapsed, 1000) 来执行此操作。这非常耗费资源(对于功能手机设备),涉及始终激活 WiFi。

我试图(非常不成功)实现的是检测屏幕是否打开,然后每 1 秒调用一次 updateTimeElapsed 函数(希望确保一旦屏幕关闭,刷新将停止,并且一旦屏幕打开,刷新将继续)。有什么方法可以实现吗?

【问题讨论】:

标签: javascript html http firefox-os


【解决方案1】:

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

像这样使用它:

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

【讨论】:

  • 正确的事件名称是:visibilitychange(小写)
猜你喜欢
  • 1970-01-01
  • 2018-04-16
  • 2012-12-20
  • 2012-03-06
  • 1970-01-01
  • 2011-09-01
  • 1970-01-01
  • 2011-01-15
相关资源
最近更新 更多