Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

http
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 :

http
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 :

http
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 :

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

Elle doit également inclure un attribut allow sur l'élément HTML <iframe> :

html
<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