返回知识中心
平台

Screen Wake Lock API:生命周期与隐私边界

用可见性恢复、主动释放和可靠回退管理屏幕唤醒锁,避免把浏览器能力误解为屏幕常亮或设备身份信号。

BotBrowser Team

文档中心

想直接进入 平台 文档吗?

这篇文章属于博客内容库。若你要步骤化配置、参考说明和持续更新,请直接进入对应 docs 分区。

Screen Wake Lock API 允许页面在用户可见任务期间请求浏览器不要让屏幕变暗。它是临时且受浏览器控制的请求;可见性、策略、电源条件或主动释放都能结束它。BotBrowser 可以在受控 profile 中验证请求、释放和可见性恢复,但不能让物理屏幕保持亮起,也不保证所有 runner 都支持。

唤醒锁请求经过可见性检查,最终释放或进入尊重用户的回退路径

TL;DR

  • 检测 navigator.wakeLock,只为明确的用户可见任务请求。
  • 保存 WakeLockSentinel,监听 release,任务结束时主动释放。
  • 从隐藏状态返回时,仅在任务仍需要且能力仍可用时重新请求。
  • 唤醒锁不是后台执行、电池访问、身份证据或屏幕常亮保证。

Contents

请求与释放

在阅读食谱或展示 kiosk 步骤等有意流程中调用 navigator.wakeLock.request('screen')。把拒绝视为正常能力结果,并处理 sentinel 的 release。路由离开、任务暂停或用户选择省电时释放;清理必须幂等。

可见性与隐私边界

文档隐藏时浏览器可能释放锁。监听 visibilitychange,回来后读取任务状态,仅在页面可见且用户仍需要时重新请求。失败时保留普通控件和手动继续路径。该 API 不提供电池百分比、设备身份或可靠的电源画像;遥测应限于用途、浏览器结果和必要保留期。

使用 BotBrowser 测试

合成夹具记录能力检测、请求、显式释放、隐藏到可见恢复和回退 UI。测试 API 缺失、拒绝、重复清理和任务已结束后的恢复。BotBrowser 不能控制操作系统电源策略或测量物理显示器状态。

结论

把唤醒锁视为用户任务周围的短期租约:检测能力、主动释放、恢复可见性并保留一等回退。参考 W3C Screen Wake Lock、MDN API、MDN WakeLockSentinel、W3C Privacy Principles 和 BotBrowser advanced features。

延伸阅读

Sources

#Screen Wake Lock#浏览器生命周期#隐私#BotBrowser

让 BotBrowser 从研究走向生产

先用这些指南理解模型,再进入跨平台验证、隔离上下文和面向规模化的浏览器部署。