Permissions-Policy: unload directive
Expérimental: Il s'agit d'une technologie expérimentale.
Vérifiez attentivement le tableau de compatibilité des navigateurs avant de l'utiliser en production.
Non standard: Cette fonctionnalité n'est pas standardisée. Nous déconseillons d'utiliser des fonctionnalités non standard en production, car leur prise en charge par les navigateurs est limitée, et elles peuvent être modifiées ou supprimées. Toutefois, elles peuvent constituer une alternative appropriée dans certains cas où aucune option standard n'existe.
L'en-tête HTTP Permissions-Policy avec la directive unload contrôle si le document actuel est autorisé à exécuter des gestionnaires d'évènements unload.
Lorsque qu'une politique définie interdit l'utilisation de cette fonctionnalité, les gestionnaires d'évènements unload enregistrés dans le document ne s'exécutent pas.
Les gestionnaires de unload sont peu fiables et empêchent les pages d'être stockées dans le cache arrière/avant (angl.) (bfcache). Les bloquer permet à une page de rester éligible au bfcache, même si des scripts tiers dans la page ajoutent des gestionnaires unload. Voir les notes d'utilisation de l'évènement unload pour des alternatives.
Syntaxe
Permissions-Policy: unload=<allowlist>;
<allowlist>-
Une liste d'origines pour lesquelles l'autorisation d'utiliser la fonctionnalité est accordée. Voir
Permissions-Policy> Syntaxe pour plus de détails.
Politique par défaut
Dans Chrome, la liste d'autorisations par défaut pour unload est (), ce qui signifie que les gestionnaires unload ne s'exécutent pas à moins qu'un document ne choisisse d'y participer. Chrome utilisait initialement une liste d'autorisations par défaut de *, et l'a modifiée progressivement (angl.).
Exemples
>Bloquer les gestionnaires de déchargement
Un site veut s'assurer qu'aucun gestionnaire unload ne s'exécute dans ses pages ou dans l'un de leurs cadres intégrés, afin que les pages restent éligibles au bfcache. Il peut le faire en envoyant l'en-tête de réponse HTTP suivant :
Permissions-Policy: unload=()
Autoriser les gestionnaires de déchargement
Un site qui dépend encore des gestionnaires unload peut leur permettre de s'exécuter dans ses pages de premier niveau en envoyant l'en-tête de réponse HTTP suivant :
Permissions-Policy: unload=self
Pour autoriser également les gestionnaires unload dans un cadre intégré inter-origine dont l'origine est https://example.com, la page intégrante doit inclure cette origine dans sa liste d'autorisations :
Permissions-Policy: unload=(self "https://example.com")
Elle doit également inclure un attribut allow sur l'élément HTML <iframe> :
<iframe src="https://example.com/embed" allow="unload"></iframe>
Le document chargé dans le cadre intégré doit également autoriser les gestionnaires unload, en utilisant son propre en-tête de réponse Permissions-Policy: unload=self.
Spécifications
Cette fonctionnalité ne semble pas être définie dans une spécification.>Compatibilité des navigateurs
Voir aussi
- L'en-tête
Permissions-Policy - Politique de permissions
- L'évènement
unload - Obsolescence de l'évènement
unload(angl.) sur developer.chrome.com