可禁用网页Screen Wake Lock API以防止屏幕常亮:一、地址栏设站点权限为禁止;二、chrome://flags中禁用该API;三、用uBlock Origin等扩展注入规则拦截;四、开发者工具执行JS覆盖navigator.wakeLock;五、组策略强制禁用(Windows专业版)。

如果您在使用谷歌浏览器时发现某个网页擅自启用 Screen Wake Lock API 导致屏幕无法自动熄灭,影响设备续航或用户体验,则可能是该页面在用户未明确授权的情况下调用了 navigator.wakeLock.request('screen')。以下是禁用或规避该行为的具体操作方案:
一、通过浏览器地址栏强制禁用 Wake Lock 权限
Chrome 提供了基于站点的权限控制机制,可直接阻止特定网站请求屏幕常亮权限。该方法无需安装扩展,适用于已知问题域名。
1、在 Chrome 地址栏中输入目标网页的完整 URL(例如 https://example.com),然后按回车访问。
2、点击地址栏左侧的锁形图标或“站点信息”按钮。
3、在弹出面板中点击“网站设置”。
4、向下滚动至“权限”区域,找到“防止屏幕进入睡眠”选项。
5、将其设置为“禁止”,并关闭当前标签页后重新加载页面。

二、通过 chrome://flags 实验性关闭 Wake Lock 功能
Chrome 允许用户通过内部标志(flags)全局禁用 Screen Wake Lock API,适用于所有网页,但属于实验性设置,可能随版本更新失效。
1、在 Chrome 地址栏中输入 chrome://flags 并按回车。
2、在右上角搜索框中输入 wake lock。
3、定位到名为 “Screen Wake Lock API” 的条目。
4、点击右侧下拉菜单,选择 “Disabled”。
5、点击页面右下角的“重启”按钮使设置生效。

三、使用内容屏蔽扩展拦截 Wake Lock 调用
部分广告与脚本拦截扩展支持规则级 JavaScript 函数屏蔽,可精准阻止 wakeLock 相关方法执行,不干扰其他功能。
1、安装支持自定义过滤规则的扩展,如 uBlock Origin 或 AdGuard。
2、打开扩展弹窗,进入“仪表板”→“过滤器”→“我的过滤器”。
3、添加如下规则行:example.com##script:inject(no-wakelock.js)(将 example.com 替换为目标域名)。
4、保存后刷新网页,检查控制台是否仍出现 navigator.wakeLock 调用日志。
5、若需全局拦截,可添加通用规则:*$script,redirect=noop.js,domain=~localhost|~127.0.0.1|~chromium.org 并启用“高级用户模式”。

四、通过开发者工具临时禁用当前页面的 Wake Lock 请求
适用于临时调试或单次访问场景,无需修改浏览器设置,操作即时生效,但刷新后重置。
1、在目标网页按 F12 打开开发者工具,切换到 Console 标签页。
2、粘贴并执行以下代码:Object.defineProperty(navigator, 'wakeLock', { get() { return { request: () => Promise.reject(new DOMException('Wake Lock disabled', 'NotAllowedError')) }; } });
3、按下回车后,页面内任何对 navigator.wakeLock.request() 的调用将立即失败并抛出 NotAllowedError。
4、观察视频播放控件是否仍尝试激活锁屏——若控制台不再输出 “Wake Lock acquired”,说明拦截成功。
五、通过 Chrome 策略组策略禁用 Wake Lock(仅限 Windows 专业版/企业版)
适用于管理员批量管控多台设备,通过本地组策略永久禁用 API,绕过用户级设置。
1、按 Win + R 输入 gpedit.msc 打开组策略编辑器。
2、导航至:计算机配置 → 管理模板 → Google → Google Chrome → 隐私设置。
3、双击启用“禁止使用屏幕唤醒锁定 API”策略。
4、设置为“已启用”,点击“确定”保存。
5、以管理员身份运行命令提示符,执行 gpupdate /force 刷新策略。











