Permissions-Policy: deferred-fetch 指令
deferred-fetch Permissions-Policy 指令是 fetchLater() API 的一部分。
此指令與 deferred-fetch-minimal 一起,決定了總共 640KiB 的配額限制如何在頂級源及其跨源子幀之間分配。預設情況下,頂級源被授予 512KiB,每個跨源子幀從剩餘的 128KiB 中被授予 8KiB。deferred-fetch 許可權策略可以允許子幀源從頂級的 512KiB 配額中獲得更大的 64KiB 配額,而不是它們預設將獲得的 8KiB 最小配額。
有關更多詳細資訊和示例,請參閱 fetchLater() 配額。
語法
http
Permissions-policy: deferred-fetch=(self)
Permissions-policy: deferred-fetch=(self <url-list>)
Permissions-policy: deferred-fetch=(<url-list>)
<url-list>-
以空格分隔的源列表(每個源都用引號括起來),這些源被授予從父級主配額中獲取的 64KiB 更高配額。64KiB 配額在子幀建立時獲取。
一個跨源子幀可以將其整個配額委託給其一個跨源子幀後代授予 deferred-fetch。這僅在當前未佔用任何配額時才有效。
許可權策略檢查與配額檢查無法區分。如果配額實際超出,或者透過許可權策略限制了該源的配額,呼叫 fetchLater() 都將丟擲 QuotaExceededError。
預設策略
deferred-fetch 的預設允許列表是 self。
示例
有關更多示例,請參閱 fetchLater() 配額。
使用最小配額
http
Permissions-Policy: deferred-fetch=(self "https://b.com")
b.com的一個子幀在建立時從頂級的 512KiB 限制中收到 64KiB。c.com的一個子幀未列出,因此在建立時從 128KiB 共享限制中收到 8KiB。- 另外 15 個不同源的子幀在建立時將收到 8KiB(類似於
c.com)。 - 下一個子幀將不被授予任何配額。
- 如果其中一個子幀被移除,其延遲獲取將被髮送。
- 下一個子幀將收到 8KiB 配額,因為再次有可用配額。
完全撤銷最小配額
http
Permissions-Policy: deferred-fetch=(self "https://b.com")
Permissions-Policy: deferred-fetch-minimal=()
b.com的一個子幀在建立時收到 64KiB。c.com的一個子幀在建立時未收到任何配額。- 頂級文件及其同源後代最多可以使用完整的 640KiB,但如果建立了
b.com子幀,則會減少到 574KiB。
規範
| 規範 |
|---|
| Fetch # available-deferred-fetch-quota |
瀏覽器相容性
載入中…