En HTML5, certains des éléments HTML supportant le CORS (Cross-Origin Resource Sharing) comme les éléments <img>
, <video>
ou <script>
, ont un attribut crossorigin
(propriété crossOrigin
), qui permet de configurer les requêtes CORS pour les données de l'élément à renvoyer. Ces attributs sont listés ci-après avec les valeurs qu'ils peuvent avoir :
Mot-clé | Description |
anonymous |
Les requêtes CORS pour cet élément auront le marqueur d'authentification (credentials flag) avec la valeur 'same-origin' . |
use-credentials |
Les requêtes CORS pour cet élément auront le marqueur d'authentification (credentials flag) avec la valeur 'include' . |
"" |
Utiliser la chaîne vide (crossorigin="" ) ou l'attribut seul (crossorigin ) sera équivalent à l'utilisation de la valeur anonymous . |
Par défaut (quand l'attribut n'est pas spécifié), le CORS n'est pas du tout utilisé. Le mot-clé anonymous
signifie que, lorsqu'il n'y a pas la même origine, il n'y aura ni échange d'informations d'authentification de l'utilisateur via des cookies, ni des certificats SSL côté client ou des authentifications HTTP comme détaillé dans la section terminologique de la spécification CORS.
Un mot-clé invalide ou une chaîne de caractères vide seront interprétés comme le mot-clé anonymous
.
Exemple : utiliser crossorigin
avec l'élément script
On peut utiliser l'élément <script>
afin d'indiquer au navigateur d'exécuter un script (ici, https://exemple.com/framework-exemple.js
) sans envoyer les informations d'authentification de l'utilisateur.
<script src="https://exemple.com/framework-exemple.js" crossorigin="anonymous"> </script>
Exemple : utiliser des informations d'authentification avec un manifeste
La valeur use-credentials
doit être utilisée lorsqu'on récupère un manifeste nécessitant des informations d'authentification, y compris lorsque le fichier provient de la même origine :
<link rel="manifest" href="/app.manifest" crossorigin="use-credentials">
Spécifications
Spécification | État | Commentaires |
---|---|---|
HTML Living Standard La définition de 'CORS settings attributes' dans cette spécification. |
Standard évolutif | |
HTML Living Standard La définition de 'crossorigin' dans cette spécification. |
Standard évolutif |
Compatibilité du navigateur
L'attribut crossorigin
pour <script>
Ordinateur | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
crossorigin | Chrome Support complet 30 | Edge Support complet Oui | Firefox Support complet 13 | IE Aucun support Non | Opera Support complet 12 | Safari
Support complet
Oui
| WebView Android Support complet Oui | Chrome Android Support complet Oui | Firefox Android Support complet 14 | Opera Android ? | Safari iOS ? | Samsung Internet Android Support complet Oui |
Légende
- Support complet
- Support complet
- Aucun support
- Aucun support
- Compatibilité inconnue
- Compatibilité inconnue
- Voir les notes d'implémentation.
- Voir les notes d'implémentation.
L'attribut crossorigin
pour <video>
Ordinateur | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
crossorigin | Chrome ? | Edge Support complet Oui | Firefox Support complet 12 | IE ? | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Firefox Android Support complet 14 | Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
Légende
- Support complet
- Support complet
- Compatibilité inconnue
- Compatibilité inconnue