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

时间:2013-07-28 22:53:46

标签: javascript html

如果笔记本电脑已被暂停(笔记本电脑盖关闭/打开),是否有可靠的方法可以通过javascript检查打开的网页?

3 个答案:

答案 0 :(得分:3)

只需。出于安全原因,这些是JavaScript没有暴露的东西:)。与文件系统相同,尽管File API提供了一些功能。

看起来这个功能似乎也缺乏实用性,但是,如果它存在,网站可以做“你不看的东西”,我认为这不是一件好事:)

对于一些网站来说,评论中提到的一些人对BatteryAPI非常重要。例如,要了解是否要运行耗费资源的动画或功能,请在丢失工作之前保存所有用户数据等(特别是在智能手机和平板电脑上运行时......不仅仅是笔记本电脑)。

答案 1 :(得分:2)

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

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

答案 2 :(得分:2)

我已经设法通过使用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>