打开这个网站可以阻止电脑自动锁屏,它的原理是什么?

原创
前端路迹
2024-7-31 08:24
编辑于 2024-7-31 08:51

打开这个网站,https://www.keepscreenon.com/

保持浏览器页签是激活状态,那么电脑就不会自动锁屏。

那么它的原理是什么?

查看这个网站的源码,发现它引用了一个第三方库,NoSleep.js。

在 github 上找到了这个开源库,https://github.com/richtr/NoSleep.js ,README 中并没有直接介绍它的原理,那么只能去源码中查找了。

源码也非常简单,核心就两个js文件,当看到其中一个文件代码的时候,它的原理就不言而喻了。

接着查看 index.js,发现里面就是初始化了一个 video,并循环播放。

我们都知道,当浏览器在播放视频的事后,电脑的确就不会自动锁屏了,这个库也是基于这个规则来实现了阻止浏览器自动锁屏。

整体代码可以简化为。

当然,有几个细节需要注意:

  1. 需要用户点击然后去调用播放,如果想浏览器加载时自动播放,是不能阻止自动锁屏的;
  2. 虽然视频一直循环播放,但是浏览器页面没有出现喇叭的图标,是因为这个视频是无声的。
转载请注明出处。本文地址: https://www.qinshenxue.com/article/how-keepscreenon-works.html
关注我的公众号