J'aimerais inclure des astuces de ressources de préconnexion sur mon site afin que les navigateurs puissent (par exemple) se connecter au CDN jQuery avant de voir la balise script qui appelle le CDN. Je ne sais pas si je devrais inclure l’attribut "crossorigin" ou quelle devrait être sa valeur. Le spec dit, en partie,
Pour lancer une préconnexion, l'agent d'utilisateur doit exécuter ces étapes:
[…]
- Soit corsAttributeState l’état actuel de l’attribut
crossorigin
content de l’élément.- Soit les informations d'identification une valeur booléenne définie sur
true
.- Si corsAttributeState est
Anonymous
et Origine n'est pas égal à Origine du document actuel, définissez les informations d'identification surfalse
.- Essayez d’obtenir une connexion avec les identifiants d’origine et .
Je ne sais pas comment interpréter cet algorithme. Si je me connecte à un CDN, ce qui permettra à quiconque de télécharger son contenu sans aucune sorte d’identité, quelle valeur dois-je utiliser pour l’attribut "crossorigin"?
Je cherchais la même chose et j'ai trouvé this
Il est indiqué ici que si vous n'utilisez pas l'attribut cross Origin, l'agent utilisateur ne fait que rechercher le DNS, mais n'établit pas la connexion avec le domaine particulier. Donc, l'attribut crossorigin est nécessaire si vous devez vous connecter à un autre domaine, comme ceci:
<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin>
De plus, si vous souhaitez envoyer des informations d'identification à cet inter-domaine particulier, vous pouvez définir cross-origin comme étant crossorigin = use-credentials
sinon je pense que la valeur par défaut est anonyme.
Jusqu'à présent, je comprends l'utilisation de crossorigin
, spécialement en ce qui concerne ses valeurs anonymous
et use-credentials
, vous devez utiliser crossorigin="use-credentials"
au cas où:
En plus de la documentation citée par vous, j’ai obtenu this et that . Mais en réalité, la documentation est trompeuse et contient des fautes d’orthographe: le premier l’appelle use-credentials
, la seconde - user-credentials
.
Quoi qu'il en soit, dans ma compréhension:
crossorigin
du tout égal crossorigin="anonymous"
crossorigin
est égal à crossorigin="use-credentials"
Peut-être que quelqu'un me corrigerait.
PS: Le version actuelle de la page Mozilla du sujet signifie:
Un mot clé non valide et une chaîne vide seront traités comme mot clé anonyme.
Signifie: pas du tout crossorigin
, crossorigin
ou crossorigin="use_credentials"
sont tous traités comme crossorigin="anonymous"
.
Cela dépend de deux choses:
Pour jQuery, vous n'utiliseriez pas crossorigin
. Les scripts ne font pas partie des les types de ressources que les navigateurs utilisent CORS pour télécharger .
Les polices, en revanche, utilisent CORS.
crossorigin
.crossorigin
. SiVoici le Stack Overflow post où j'ai rencontré le même problème.
Je n'ai pas encore plongé dans les informations d'identification CORS. Je n'ai pas vu d'exemple où ils sont nécessaires, alors il est probable que vous soyez en sécurité avec crossorigin
(c'est-à-dire `crossorigin =" anonymous ").