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 屬性可以有選擇地在某些框架中啟用功能,而在其他框架中不啟用,即使這些框架包含來自同一源的文件。

規範

此特性似乎未在任何規範中定義。

瀏覽器相容性

另見