Si vous développez un morceau de code rapide localement et que vous utilisez Chrome, il y a un problème. si votre page se charge en utilisant une URL de la forme "file: // xxxx", alors essayer d'utiliser getImageData () sur le canevas échouera et lèvera l'erreur de sécurité cross-origin, même si votre image est extraite de la même répertoire sur votre machine locale en tant que page HTML rendant le canevas. Donc, si votre page HTML est extraite, dites:
fichier: // D: /wwwroot/mydir/mytestpage.html
et votre fichier Javascript et vos images sont récupérés, par exemple:
fichier: // D: /wwwroot/mydir/mycode.js
fichier: // D: /wwwroot/mydir/myImage.png
alors malgré le fait que ces entités secondaires sont extraites de la même origine, l'erreur de sécurité est toujours levée.
Pour une raison quelconque, au lieu de définir correctement l'origine, Chrome définit l'attribut d'origine des entités requises sur «null», ce qui rend impossible le test du code impliquant getImageData () simplement en ouvrant la page HTML dans votre navigateur et en déboguant localement.
En outre, définir la propriété crossOrigin de l'image sur "anonyme" ne fonctionne pas, pour la même raison.
J'essaie toujours de trouver une solution de contournement pour cela, mais encore une fois, il semble que le débogage local soit rendu aussi pénible que possible par les implémenteurs de navigateur.
J'ai juste essayé d'exécuter mon code dans Firefox, et Firefox le fait bien, en reconnaissant que mon image est de la même origine que les scripts HTML et JS. Je serais donc heureux de recevoir quelques conseils sur la façon de contourner le problème dans Chrome, car pour le moment, alors que Firefox fonctionne, son débogueur est extrêmement lent, au point d'être une étape supprimée d'une attaque par déni de service.