javascript - 使用 JavaScript 检测屏幕开/关

标签 javascript html http firefox-os

我这里有一个很奇怪的问题,那就是检测屏幕是否打开/事件。我正在开发的平台是 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/

相关文章:

html - CSS :before pseudoelement: vertically centered

html - 如何删除嵌套在另一个 btn 组中的 btn 组之间的垂直空间?

Node.js HEAD http 请求

javascript - $lookup : foreignKey 的 mongodb 未知参数

javascript - 将两个不同对象键的值合并为一个对象键值

javascript - 突出显示事件选项卡的导航

asp.net-mvc - QueryString 中的 SessionID 还是 GET 请求中的 Cookie 优先?

javascript - 如何检测窗口哈希的变化?

javascript - 图像上的标题文字

node.js - 在 HTTP 请求中指定端口号 (node.js)