Permissions-Policy: deferred-fetch Direktive
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die deferred-fetch
Permissions-Policy
Direktive ist Teil der fetchLater()
API.
Diese Direktive, zusammen mit deferred-fetch-minimal
, bestimmt, wie das gesamte Quotalimit von 640KiB zwischen der obersten Ebene und ihren Cross-Origin-Unterframes verteilt wird. Standardmäßig erhält die oberste Ebene 512KiB, und jedes Cross-Origin-Unterframe erhält 8KiB von den restlichen 128KiB. Die deferred-fetch
Berechtigungsrichtlinie kann es Unterrahmen-Ursprüngen erlauben, ein größeres 64KiB-Kontingent aus dem 512KiB-Kontingent der obersten Ebene zu erhalten, anstelle des 8KiB-Mindestkontingents, das sie ansonsten standardmäßig erhalten würden.
Siehe fetchLater()
Quoten für weitere Details und Beispiele.
Syntax
Permissions-policy: deferred-fetch=(self)
Permissions-policy: deferred-fetch=(self <url-list>)
Permissions-policy: deferred-fetch=(<url-list>)
<url-list>
-
Eine durch Leerzeichen getrennte Liste von Ursprüngen (jeder in Anführungszeichen), denen ein höheres Kontingent von 64KiB zugewiesen wird, das aus dem Hauptkontingent des übergeordneten Elements stammt. Das 64KiB-Kontingent wird zu dem Zeitpunkt zugewiesen, zu dem das Unterframe erstellt wird.
Ein Cross-Origin-Unterframe kann deferred-fetch
an einen seiner Cross-Origin-Unterframe-Nachkommen übertragen und damit sein gesamtes Kontingent delegieren. Dies funktioniert nur, wenn derzeit keines der Kontingente verwendet wird.
Berechtigungsrichtlinienprüfungen sind von Kontingentprüfungen nicht zu unterscheiden. Ein Aufruf von fetchLater()
wird einen QuotaExceededError
auslösen, sowohl wenn das Kontingent tatsächlich überschritten wird, als auch wenn das Kontingent für diesen Ursprung durch eine Berechtigungsrichtlinie eingeschränkt wurde.
Standardrichtlinie
Die Standard-Zulassungsliste für deferred-fetch
ist self
.
Beispiele
Siehe fetchLater()
Quoten für weitere Beispiele.
Nutzung des minimalen Kontingents
Permissions-Policy: deferred-fetch=(self "https://b.com")
- Ein Unterframe von
b.com
erhält bei der Erstellung 64KiB aus dem 512KiB-Limit der obersten Ebene. - Ein Unterframe von
c.com
ist nicht aufgelistet und erhält daher bei der Erstellung 8KiB aus dem gemeinsamen 128KiB-Limit. - 15 weitere Unterrahmen von verschiedenen Ursprüngen würden bei der Erstellung 8KiB erhalten (ähnlich wie
c.com
). - Das nächste Unterframe würde kein Kontingent erhalten.
- Wenn eines der Unterframes entfernt wird, werden seine verzögerten Abrufvorgänge gesendet.
- Das nächste Unterframe würde ein 8KiB-Kontingent erhalten, da wieder ein Kontingent verfügbar ist.
Das minimale Kontingent vollständig widerrufen
Permissions-Policy: deferred-fetch=(self "https://b.com")
Permissions-Policy: deferred-fetch-minimal=()
- Ein Unterframe von
b.com
erhält bei der Erstellung 64KiB. - Ein Unterframe von
c.com
erhält bei der Erstellung kein Kontingent. - Das Dokument der obersten Ebene und seine Ursprungsnachkommen können bis zu 640KiB verwenden, was jedoch auf 574KiB reduziert wird, wenn ein
b.com
-Unterframe erstellt wird.
Spezifikationen
No specification found
No specification data found for http.headers.Permissions-Policy.deferred-fetch
.
Check for problems with this page or contribute a missing spec_url
to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.