跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

谷歌浏览器如何禁用网页调用Gamepad手柄接口_谷歌浏览器外设输入API静默屏蔽

可通过五种方式屏蔽Gamepad API:一、chrome://flags禁用Gamepad API;二、启用Restrict gamepad access限制HTTP站点调用;三、网站设置中单独阻止特定域名;四、安装扩展程序重写API行为;五、启动参数--disable-features=Gamepad系统级禁用。

如果您在使用谷歌浏览器时希望阻止网页调用Gamepad API以防止手柄被意外识别、输入被截获或硬件接口被非授权调用,则可能是由于隐私保护需求、避免游戏自动激活手柄控制,或防范非可信页面滥用底层外设访问能力所致。以下是实现Gamepad API静默屏蔽的多种具体操作步骤:

一、通过Chrome Flags全局禁用Gamepad API

该方式直接关闭浏览器底层对Gamepad API的支持,使所有网页(无论协议类型或域名)均无法检测或枚举任何已连接的手柄设备,属于最彻底的屏蔽方案,无需依赖权限配置或运行时拦截。

1、在Chrome地址栏输入

chrome://flags并回车访问实验性功能配置页。

2、在页面顶部搜索框中键入

gamepad,定位到“Gamepad API”和“Enable gamepad extensions”两项。

3、将“Gamepad API”选项状态由Default改为Disabled;若存在“Enable gamepad extensions”,同样设为Disabled。

4、点击右下角

Relaunch按钮重启浏览器,重启后navigator.getGamepads()将始终返回null数组且无任何设备信息。

二、启用Restrict gamepad access限制非HTTPS网站调用

该策略不关闭API本身,而是强制仅允许通过HTTPS安全上下文加载的网页调用Gamepad API,HTTP页面将被静默拒绝——既保留合法加密站点的手柄功能,又阻断明文传输环境下的潜在滥用风险。

1、访问

chrome://flags,在搜索框中输入Restrict gamepad access。

2、将该选项状态由Default改为

Enabled。

3、点击

Relaunch重启浏览器。

4、此后访问以

http://开头的网页时,即使手柄已物理连接且API未被全局禁用,JavaScript调用将直接抛出SecurityError,且控制台无设备枚举结果。

三、通过网站权限单独屏蔽特定域名的手柄访问

此方法保持全局Gamepad API启用状态,仅针对CrazyGames、Untrusted-GameHub等高风险或不必要启用手柄的特定站点撤销硬件访问授权,不影响其他HTTPS游戏平台的正常使用,权限控制粒度最精细。

1、访问目标网站(例如

https://www.crazygames.com),确保页面完全加载完成。

2、点击地址栏左侧锁形图标,选择

网站设置。

Comet AI 浏览器下载 Comet AI 浏览器,体验由 Perplexity AI 驱动的革命性上网方式。内置 AI 助手可实时总结网页、跨标签页对比信息、自动执行任务。告别繁琐操作,让 AI 成为你的浏览副驾,大幅提升研究与工作效率。支持 Windows、macOS、Android 和 iOS。

下载

3、向下滚动至“权限”区域,找到

游戏手柄输入(Gamepad input)选项。

4、将其状态由“允许”更改为

阻止。

5、关闭并重新打开该网页标签页,此时

navigator.getGamepads()将始终返回空数组,且不会触发任何用户提示。

四、使用扩展程序重写Gamepad API行为

部分轻量级内容脚本扩展可注入页面上下文,直接覆盖全局navigator.getGamepads、navigator.gamepadconnected事件监听器等关键API入口,使其返回空对象或抛出PermissionDenied错误,从而实现运行时动态屏蔽,无需重启浏览器且可按需启停。

1、访问Chrome网上应用店,搜索关键词

gamepad blocker或disable gamepad api。

2、安装经验证的扩展(如“Gamepad Disabler”或“Web API Blocker”),确认其权限声明不含多余主机匹配模式。

3、点击扩展图标,启用针对当前标签页的

Gamepad API拦截功能开关。

4、刷新当前页面,执行

console.log(navigator.getGamepads()),输出应为[null]或空数组,且无设备ID与按钮数据。

五、通过启动参数禁用Gamepad功能模块

该方式在浏览器进程启动阶段即剥离Gamepad相关组件,属于系统级屏蔽,绕过所有前端配置与用户界面设置,适用于企业终端统一管控或高度敏感环境部署,生效后所有标签页均不可恢复该功能直至参数移除。

1、关闭所有Chrome进程(包括后台服务),可在任务管理器中结束chrome.exe全部实例。

2、右键Chrome快捷方式 → “属性” → 在“目标”末尾添加空格后追加--disable-features=Gamepad。

3、确认完整路径形如:"

"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-features=Gamepad"。

4、双击该快捷方式启动浏览器,访问

chrome://version查看“Command Line”字段,确认参数已生效;此时navigator.getGamepads将不可访问或直接报错。

相关文章