无需登录 数据私有 本地保存

用户空闲检测器 - Idle Detection API演示

17
0
0
0
正在检测 Idle Detection API 支持情况...
检测中...

未开始检测

请配置并启动检测器

--
活跃
0
活跃次数
空闲
0
空闲次数
累计
0s
总空闲时长
屏幕
--
屏幕状态
权限状态: 未检测
浏览器不支持API时自动启用
事件日志
0 条记录
# 时间 用户状态 屏幕状态 说明
暂无事件记录,启动检测后将在此显示状态变化
常见问题与知识点
什么是 Idle Detection API?
Idle Detection API(用户空闲检测API)是一个现代浏览器API,允许Web应用检测用户是否处于空闲状态(即用户在一段时间内没有与设备进行交互)。它可以判断用户是活跃(active)还是空闲(idle),以及设备屏幕是否被锁定(locked)。该API需要用户明确授权,并且仅在安全上下文(HTTPS或localhost)中可用。目前主要在Chrome 94+和Edge 94+中得到支持。
Idle Detection API 有哪些实际应用场景?
  • 社交应用:自动将用户状态设置为"离开"或"在线",类似于即时通讯软件中的状态指示。
  • 协作工具:在多人协作编辑器中显示协作者是否正在活跃操作。
  • 仪表盘应用:在监控大屏中,当检测到用户空闲时自动切换显示模式或降低刷新频率以节省资源。
  • 游戏应用:在玩家离开时自动暂停游戏或显示提示。
  • 安全应用:在用户空闲一段时间后自动锁定敏感页面或触发安全警告。
  • 数据分析:统计用户在页面上的活跃时长和空闲模式,优化用户体验。
Idle Detection API 的最小空闲阈值是多少?
根据W3C规范,Idle Detection API的阈值(threshold)最小为60,000毫秒(即1分钟)。这是为了平衡用户体验和隐私保护——较短的阈值可能导致过于频繁的状态切换和潜在的隐私问题(如被用于追踪用户行为模式)。如果开发者设置小于60000ms的值,浏览器会自动将其调整为60000ms。在本工具中,真实API模式下的阈值选项从1分钟起步。
为什么我的浏览器不支持此API?如何兼容?
Idle Detection API目前主要在Chromium内核浏览器(Chrome 94+、Edge 94+)中得到支持。Firefox和Safari目前尚未实现该API。对于不支持的浏览器,本工具提供了"模拟演示模式"——通过监听鼠标移动、键盘按键、点击、触摸等事件来判断用户是否空闲。模拟模式可以设置更短的阈值(如5秒)以便快速测试,但它无法检测屏幕锁定状态,且在页面不可见时检测能力有限。在生产环境中,建议结合使用Idle Detection API和传统的事件监听作为降级方案。
使用 Idle Detection API 需要注意哪些隐私问题?
Idle Detection API涉及用户行为模式的检测,因此浏览器对其有严格的隐私保护机制:①必须通过Permissions API获取用户明确授权,用户可以在浏览器设置中随时撤销权限;②仅限安全上下文(HTTPS)使用;③最小空闲阈值为60秒,防止过于精细的行为追踪;④浏览器会在地址栏显示权限指示器,提醒用户该网站正在使用空闲检测功能。开发者应当仅在确实需要的场景中使用此API,并向用户清晰说明使用目的。
screenState(屏幕状态)能检测到什么?
screenState属性可以检测设备的屏幕锁定状态。当值为'locked'时,表示设备屏幕已被锁定(如用户按下了电源键、合上了笔记本盖子或系统自动锁屏);当值为'unlocked'时,表示屏幕处于解锁状态。需要注意的是,在桌面端浏览器中,如果用户仅切换到其他应用但未锁定屏幕,screenState通常仍为'unlocked'。在移动设备上,这个状态更为直观——与系统屏幕锁定状态直接对应。模拟演示模式无法检测此状态,始终显示'unlocked'。
停止检测后如何重新开始?
点击"停止"按钮后,检测器会调用detector.stop()方法停止监听。要重新开始检测,只需再次点击"开始检测"按钮即可。如果权限已被撤销(如用户在浏览器设置中禁用了权限),则需要先点击"请求权限"重新获取授权。在模拟模式下,停止和开始操作会清除相关的事件监听器和计时器,完全重置检测状态。日志和统计数据在停止后会被保留,方便您进行分析。