Résolution de l'erreur « Les toiles contaminées ne peuvent pas être exportées »
Lorsque vous essayez d'enregistrer une toile sur une image à l'aide de canvas.toDataURL(), vous pouvez rencontrer le problème suivant erreur :
Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
Cause :
Pour des raisons de sécurité, le disque dur local est considéré comme « autre-domaine », ce qui polluera le canevas.
Solution :
Pendant les tests, vous pouvez essayer les solutions suivantes :
-
Placez tous les fichiers liés à la page dans Sur le bureau : Placez tous les fichiers HTML, JPG, JS, CSS, etc. sur le bureau, pas dans des sous-dossiers.
-
Publiez l'image sur un site prenant en charge le partage entre domaines : tel que DropBox.com ou GitHub. Assurez-vous de placer l'image dans un dossier public dans DropBox et de définir l'indicateur d'origine croisée (var img=new Image(); img.crossOrigin="anonymous" ...) lors du téléchargement de l'image.
-
Installez un serveur Web sur votre machine de développement : Par exemple, les serveurs Web IIS et PHP ont tous deux des versions gratuites qui fonctionnent bien sur votre machine locale.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn