前言
在我们日常的网页开发中,有时候会遇到这样的需求:判断用户是不是开着页面却不进行任何操作,或者用户早已离开电脑,页面还在默默运行。这不,我最近就遇到了这样的场景,经过一番探索,发现了解决方案,今天就来和大家分享一下。
浏览器的 “小心思”:IdleDetector API
好在,浏览器本身也考虑到了我们开发者的需求,推出了一个名为 IdleDetector 的实验性 API。这个 API 可以帮我们检测用户的闲置状态,包括两个方面:一是用户状态,它能判断用户是否还在电脑前,依据就是键盘、鼠标等交互操作;二是屏幕状态,主要看屏幕是否被锁定,像启动了屏幕保护程序或者电脑进入休眠状态。
不过呢,这个 IdleDetector API 在浏览器的支持情况有点 “参差不齐”,目前只有 Chrome 94+、Edge 94+ 支持,Firefox 和 Safari 还没跟上。而且因为它是实验性 API,以后说不定会 “变脸”,还有个关键点,非 HTTPS 环境下它是没法用的。