Permissions-Policy: gamepad 指令

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

HTTP Permissions-Policy 头部的 gamepad 指令控制当前文档是否被允许使用 Gamepad API

具体来说,如果定义的策略阻止了此功能的使用,则对 Navigator.getGamepads() 的调用将抛出 SecurityError DOMException。此外,gamepadconnectedgamepaddisconnected 事件将不会触发。

语法

http
Permissions-Policy: gamepad=<allowlist>;
<allowlist>

被授予使用此功能权限的源列表。有关更多详细信息,请参阅 Permissions-Policy > 语法

默认策略

gamepad 的默认允许列表是 self

示例

一般示例

SecureCorp Inc. 希望在除了其自身源和源为 https://example.com 的所有浏览上下文中禁用 Gamepad API。它可以通过传递以下 HTTP 响应头来定义权限策略:

http
Permissions-Policy: gamepad=(self "https://example.com")

使用 <iframe> 元素

FastCorp Inc. 希望对所有跨源子框架禁用 gamepad,除了一个特定的 <iframe>。它可以通过传递以下 HTTP 响应头来定义权限策略:

http
Permissions-Policy: gamepad=(self)

然后在 <iframe> 元素上包含一个 allow 属性

html
<iframe src="https://other.com/game" allow="gamepad"></iframe>

iframe 属性可以有选择地在某些框架中启用功能,而在其他框架中不启用,即使这些框架包含来自同一源的文档。

规范

此特性似乎未在任何规范中定义。

浏览器兼容性

另见