什么是窗口焦点测试工具?
窗口焦点测试工具能够实时显示您的浏览器窗口是否为当前活动窗口、是否已将焦点切换至其他应用程序,或其标签页当前是否处于隐藏状态。它将浏览器的 focus 和 blur 事件与 Page Visibility API 相结合,精准呈现窗口在每个时刻的使用状态。
专为开发者打造
衡量您的专注度
focus、blur 和 visibilitychange 事件触发情况,并查看浏览器上报的精确值。如何使用本工具
按照以下步骤,开始实时测量您的窗口焦点和可见性状态:
打开工具
查看顶部的大型状态横幅——初始状态为 Focused,表示工具已激活并正在检测您的窗口。
切换至其他应用
在保持当前标签页可见的情况下,点击其他应用程序窗口。横幅将变为 Unfocused——窗口失去焦点,但标签页仍然可见。
隐藏标签页
切换至其他浏览器标签页或最小化窗口。横幅将变为 Hidden,表示该标签页已不再可见。
返回标签页
返回后,状态将变回 Focused,事件日志中也会出现一条带有精确时间戳的新记录。
实时统计与控件
在您操作过程中,统计卡片将实时更新以下指标:
- 总聚焦时长和总离开时长
- 离开焦点的次数
- 标签页切换次数
- 最长连续聚焦时长
卡片下方的原始数据读出区会实时显示 document.hasFocus() 和 document.visibilityState 的当前精确值。
功能特性
窗口焦点测试工具将多个浏览器 API 整合为一个统一视图,全面呈现窗口的实时状态。
三态检测
综合使用 document.hasFocus() 和 document.visibilityState,可靠地检测 Focused、Unfocused 和 Hidden 三种状态,不受事件触发顺序影响。
实时计时器
总聚焦时长和总离开时长持续更新,同时提供当前状态计时器和整个会话的总计时器。
独立计数器
窗口失焦次数和标签页切换次数分别独立统计——点击其他应用与切换标签页被明确区分。
最长连续聚焦记录
实时记录并更新您最长的连续聚焦时长。
原始 API 数据读出
直接显示底层浏览器 API 返回的实时布尔值和字符串值,确保完全透明。
事件日志
每次状态变化均会记录时间戳和上一状态的持续时长,最新记录显示在最前。
您的数据完全私密
所有检测完全在您的浏览器中本地运行——数据不会离开您的设备。
- 无上传——不向任何服务器发送任何数据
- 无追踪——您的操作记录不会被收集或存储
常见问题
"Unfocused" 和 "Hidden" 有什么区别?
窗口失去焦点
- 您点击了其他应用程序
- 标签页仍在屏幕上可见
- 页面内容仍处于可视范围内
标签页不可见
- 您切换至其他浏览器标签页
- 或浏览器窗口被最小化
- 页面内容已不在可视范围内
为什么打开开发者工具会将状态变为 Unfocused?
当开发者工具获取键盘焦点时,document.hasFocus() 会返回 false,即使页面仍在屏幕上显示。工具会如实将此报告为 Unfocused 状态——这是浏览器的预期行为,并非 bug。
为什么有时一次标签页切换会产生两条日志记录?
部分浏览器会在可见性变化之前先触发 blur 事件。在这种情况下,窗口会先变为 Unfocused,再变为 Hidden,因此两次状态转换都会被记录。计数器仍会正确递增——失焦一次,标签页隐藏一次。
标签页在后台时计时器是否准确?
是的。时间基于时间戳计算,而非依赖持续运行的计数器,因此浏览器对后台标签页计时器的节流限制不会影响统计结果。无论标签页是否可见,您始终能获得准确的已用时间。
关闭页面后工具会保留我的数据吗?
不会。每次访问都会开始全新的会话。数据不会保存至本地存储、Cookie 或任何外部服务器——关闭或刷新页面后,所有数据即刻清除。
还没有评论,快来发表第一条!