如何检测javascript中是否暂停了计算机电源

How can I detect if the computer power is suspended in javascript?

本文关键字:暂停 是否 计算机 电源 javascript 何检测 检测      更新时间:2023-09-26

是否有可靠的方法通过javascript从打开的网页检查笔记本电脑是否已挂起(笔记本电脑盖关闭/打开)?

我已经通过使用javascript间隔来检查经过了多少时间来实现这一点。如果电源暂停,则滴答声之间的时间差将关闭。

  <script>
    var last = (new Date()).getTime();
    setInterval(function(){
        var current = (new Date()).getTime();
        if (current-last > 3000) {
            console.log('power was suspended');
        }
        last = current;
    }, 1000);
  </script>

简单地没有。出于安全原因,JavaScript没有接触到这些东西:)。文件系统也是如此,尽管文件API提供了一些功能。

这个功能似乎也没有用处,然而,如果它存在的话,网站可以"在你不看的时候"做一些事情,我认为这从来都不是一件好事:)

一些人在评论中提到的BatteryAPI对一些网站来说非常重要。例如,要知道是否运行消耗资源的动画或功能,在他失去工作之前保存所有用户数据,等等(尤其是在智能手机和平板电脑上运行时……不仅仅是笔记本电脑)。

@yotam-omer的答案并不完全正确。虽然您无法检测关闭盖子的物理动作,但可以检测离开页面,并使用轮询检测连接丢失(即关闭盖子)。将两者配对可用于检测未离开页面的连接丢失。

如果这听起来很有趣,请评论,我会添加一个例子。