Le but de la crossorigin attribut ...?
dans les deux images et les balises de script.
Ma compréhension est que vous pouvez accéder à la fois à des scripts et des images sur d'autres domaines. Alors quand est-on utiliser cet attribut?
Est-ce que vous voulez restreindre la capacité des autres à accéder à vos scripts et de l'image?
Images
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-crossorigin
Scripts
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script
OriginalL'auteur Smurfette | 2013-08-20
Vous devez vous connecter pour publier un commentaire.
La page déjà répondu à votre question.
Si vous avez une croix d'origine de l'image, vous pouvez le copier dans une toile, mais cette "atteinte" à la toile qui vous empêche de le lire (si vous ne pouvez pas "voler" des images comme par exemple un intranet où le site lui-même n'a pas accès). Toutefois, à l'aide de la SCRO le serveur sur lequel l'image est stockée peut dire au navigateur que la croix-l'origine l'accès est autorisé, et vous pourrez ainsi accéder à des données d'image à travers une toile.
MDN a aussi une page sur cette chose: https://developer.mozilla.org/en-US/docs/HTML/CORS_Enabled_Image
Pas.
Je ne pense pas que si c'est vraiment une réponse à la question
Purpose of the crossorigin attribute …?
OriginalL'auteur ThiefMaster
La réponse peut être trouvée dans la spécification.
Pour
img
:et pour
script
:La chose qu'ils ont en commun est qu'ils modifient la façon dont l'élément fonctionne à partir d'un cross-origin origine. Mais oui, ils sont en effet très différents contraire.
Ce n'est pas avec eux blocage vous d'utiliser les images, juste de la prévention (ou) à l'aide de votre dans
canvas
éléments.Juste un avis que cet attribut est également utile dans les éléments link - lorsqu'un lien vers une feuille de style externe dans Firefox (par exemple à l'aide de Google fonts) cela résout les problèmes qui peuvent survenir si vous avez des scripts de document d'accès.les feuilles de style
assez vague réponse
OriginalL'auteur T.J. Crowder
C'est la façon dont nous avons utilisé avec succès
crossorigin
attribut dans unscript
tag:Problème que nous avons eu: Nous avons essayé de journal d'erreurs js dans le server à l'aide de
window.onerror
Presque toutes les erreurs que nous avons été la journalisation eu ce message :
Script error.
et nous en étions très peu d'informations sur la façon de résoudre ces erreurs js.Il s'avère que le natif de mise en œuvre de chrome pour signaler des erreurs
enverra
message
commeScript error.
si la demande d'actifs statique viole le navigateur de même la politique de l'origine.Dans notre cas nous ont été condamnés à de la statique de l'actif à partir d'un cdn.
La façon dont nous avons résolu, il a été l'ajout de la
crossorigin
attribut à lascript
tag.P. S. Eu toutes les infos de cette réponse
OriginalL'auteur Omar Rayward
Si vous êtes l'élaboration d'un rapide morceau de code en local, et que vous utilisez google Chrome, il y a un problème. si votre page se charge à l'aide d'une URL de la forme "fichier://xxxx", puis d'essayer de les utiliser getImageData() sur la toile, sera un échec, et jeter la croix-origine erreur de sécurité, même si votre image est récupérée à partir du même répertoire sur votre machine locale, comme la page HTML le rendu de la toile. Donc, si votre page HTML est récupérée à partir de, dire:
file://D:/wwwroot/mydir/mytestpage.html
et votre fichier Javascript et les images sont extraites de, dire:
file://D:/wwwroot/mydir/mycode.js
file://D:/wwwroot/mydir/myImage.png
puis malgré le fait que ces entités secondaires sont lues à partir de la même origine, la sécurité d'erreur est encore jetés.
Pour une raison quelconque, au lieu de la définition de l'origine correctement, Chrome définit l'origine de l'attribut des entités à "null", ce qui rend impossible de code de test impliquant getImageData (), il suffit d'ouvrir la page HTML dans votre navigateur et de débogage localement.
Aussi, la définition de la crossOrigin propriété de l'image à "anonyme" ne fonctionne pas, pour la même raison.
Je suis encore à essayer de trouver une solution de contournement pour ce faire, mais une fois encore, il semble que débogage local est en cours de rendu, aussi douloureux que possible par navigateur réalisateurs.
J'ai juste essayé de l'exécution de mon code dans Firefox et Firefox obtient droit, en reconnaissant que mon image est de la même origine que le HTML et les scripts JS. J'aimerais recevoir quelques conseils sur la façon de contourner le problème en Chrome, comme à l'heure actuelle, alors que Firefox fonctionne, c'est débogueur est douloureusement lent, au point d'être une étape supprimés à partir d'une attaque de déni de service.
OriginalL'auteur David Edwards
J'ai trouvé comment convaincre Google Chrome pour permettre file://références sans jeter un cross-origin erreur.
Étape 1: Créer un raccourci (Windows) ou l'équivalent dans d'autres systèmes d'exploitation;
Étape 2: Définir la cible de la manière suivante:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-de-fichiers
Spéciales argument de ligne de commande, --allow-file-access-from-files, raconte Chrome pour vous permettre d'utiliser le fichier://références à des pages web, images, etc., sans jeter de la croix-origine des erreurs à chaque fois que vous essayez de transférer les images vers un canevas HTML, par exemple. Il fonctionne sur mon installation de Windows 7, mais il vaut la peine de vérifier pour voir si il fonctionne sur Windows 8/10 et les différentes distributions Linux. Si il le fait, le problème est résolu - hors ligne de développement reprend comme normal.
Maintenant, je peux faire référence à des images et des données JSON à partir d'un fichier://Uri, sans Chrome jeter de la croix-origine des erreurs si je tente de transférer des données d'image d'une toile, ou de transfert de données JSON à un élément de formulaire.
OriginalL'auteur David Edwards