Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Permissions-Policy: unload-Direktive

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Die unload-Direktive des HTTP-Headers Permissions-Policy steuert, ob das aktuelle Dokument unload-Event-Handler ausführen darf.

Wenn eine definierte Richtlinie die Verwendung dieser Funktion untersagt, werden im Dokument registrierte unload-Event-Handler nicht ausgeführt.

unload-Handler sind unzuverlässig und verhindern, dass Seiten im Zurück-/Vorwärts-Cache (bfcache) gespeichert werden. Das Blockieren dieser Handler ermöglicht es einer Seite, für den bfcache geeignet zu bleiben, selbst wenn Skripte von Drittanbietern auf der Seite unload-Handler hinzufügen. Informationen zu Alternativen finden Sie in den Verwendungshinweisen für das unload-Event.

Syntax

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

Eine Liste von Ursprüngen, denen die Berechtigung zur Verwendung der Funktion erteilt wird. Weitere Details finden Sie unter Permissions-Policy > Syntax.

Standardrichtlinie

In Chrome lautet die Standard-Allowlist für unload (). Das bedeutet, dass unload-Handler nicht ausgeführt werden, sofern ein Dokument nicht ausdrücklich zustimmt. Chrome verwendete ursprünglich eine Standard-Allowlist von * und änderte dies schrittweise.

Beispiele

Blockieren von unload-Handlern

Eine Website möchte sicherstellen, dass in ihren Seiten oder in eingebetteten iframes keine unload-Handler ausgeführt werden, damit die Seiten weiterhin für den bfcache geeignet sind. Dies kann sie erreichen, indem sie den folgenden HTTP-Antwort-Header bereitstellt:

http
Permissions-Policy: unload=()

Zulassen von unload-Handlern

Eine Website, die weiterhin von unload-Handlern abhängt, kann deren Ausführung auf ihren Seiten der obersten Ebene zulassen, indem sie den folgenden HTTP-Antwort-Header bereitstellt:

http
Permissions-Policy: unload=self

Um unload-Handler auch in einem Cross-Origin-iframe zuzulassen, dessen Ursprung https://example.com ist, muss die einbettende Seite diesen Ursprung in ihre Allowlist aufnehmen:

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

Sie muss außerdem ein allow-Attribut auf dem <iframe>-Element enthalten:

html
<iframe src="https://example.com/embed" allow="unload"></iframe>

Das im iframe geladene Dokument muss unload-Handler ebenfalls zulassen, indem es seinen eigenen Antwort-Header Permissions-Policy: unload=self verwendet.

Spezifikationen

Diese Funktion scheint in keiner Spezifikation definiert zu sein.

Browser-Kompatibilität

Siehe auch