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
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:
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:
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:
Permissions-Policy: unload=(self "https://example.com")
Sie muss außerdem ein allow-Attribut auf dem <iframe>-Element enthalten:
<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
Permissions-Policy-Header- Permissions Policy
unload-Event- Deprecating the unload event auf developer.chrome.com