Permissions-Policy: fullscreen 指令

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

HTTP Permissions-Policy 頭部的 fullscreen 指令控制當前文件是否允許使用 Element.requestFullscreen()

預設情況下,頂級文件及其同源子框架可以請求並進入全屏模式。此指令允許或阻止跨源框架使用全屏模式。這包括同源框架。

具體而言,如果定義的策略阻止使用此功能,requestFullscreen() 呼叫將返回一個 Promise,該 Promise 將因 TypeError 而被拒絕。

注意: 如果此指令(即透過 allow 屬性)和 allowfullscreen 屬性都存在於 <iframe> 元素上,則此指令優先。

語法

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

被授予使用此功能許可權的源列表。有關更多詳細資訊,請參閱 Permissions-Policy > 語法

預設策略

fullscreen 的預設允許列表是 self

示例

一般示例

SecureCorp Inc. 希望在所有瀏覽上下文中停用全屏 API,除了其自己的源和源為 https://example.com 的那些。它可以透過提供以下 HTTP 響應頭來定義許可權策略

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

使用 <iframe> 元素

FastCorp Inc. 希望停用所有跨源子框架的 fullscreen,除了特定的 <iframe>。它可以透過提供以下 HTTP 響應頭來定義許可權策略

http
Permissions-Policy: fullscreen=(self)

然後在 <iframe> 元素上包含一個 allow 屬性

html
<iframe src="https://other.com/videoplayer" allow="fullscreen"></iframe>

iframe 屬性可以選擇性地在某些框架中啟用功能,而在其他框架中不啟用,即使這些框架包含來自同一源的文件。

規範

規範
Fullscreen API
# permissions-policy-integration

瀏覽器相容性

另見