权限策略:游戏手柄
HTTP Permissions-Policy
头部 gamepad
指令控制当前文档是否允许使用 Gamepad API.
具体来说,在定义的策略阻止使用此功能的情况下,对 Navigator.getGamepads()
的调用将抛出 SecurityError
DOMException
。此外,gamepadconnected
和 gamepaddisconnected
事件将不会触发。
语法
http
Permissions-Policy: gamepad=<allowlist>;
<allowlist>
-
允许使用此功能的起源列表。有关更多详细信息,请参阅
Permissions-Policy
> 语法。
默认策略
gamepad
的默认允许列表为 self
。
示例
一般示例
SecureCorp Inc. 想要禁用所有浏览上下文中的 Gamepad API,除了它自己的起源和起源为 https://example.com
的那些起源。它可以通过传递以下 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 属性可以选择性地在特定框架中启用功能,而在其他框架中不启用功能,即使这些框架包含来自相同起源的文档。
规范
规范 |
---|
Gamepad # permission-policy |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。