Behebung des Fehlers „Befleckte Leinwände können möglicherweise nicht exportiert werden“
Beim Versuch, eine Leinwand mithilfe von canvas.toDataURL() in einem Bild zu speichern, kann Folgendes auftreten Fehler:
Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
Ursache:
Aus Sicherheitsgründen wird die lokale Festplatte als „andere Domäne“ betrachtet, wodurch die Leinwand verschmutzt wird.
Lösung:
Während des Tests können Sie die folgenden Lösungen ausprobieren:
-
Alle seitenbezogenen Dateien auf dem Desktop platzieren : Platzieren Sie alle HTML-, JPG-, JS-, CSS- usw. Dateien auf dem Desktop, nicht in Unterordnern.
-
Veröffentlichen Sie das Bild auf einer Website, die die domänenübergreifende Freigabe unterstützt: wie DropBox.com oder GitHub. Stellen Sie sicher, dass Sie das Bild in einem öffentlichen Ordner in DropBox ablegen und beim Herunterladen des Bildes das Cross-Origin-Flag (var img=new Image(); img.crossOrigin="anonymous" ...) setzen.
-
Installieren Sie einen Webserver auf Ihrem Entwicklungscomputer: Beispielsweise gibt es für IIS- und PHP-Webserver kostenlose Versionen, die gut auf Ihrem lokalen Computer laufen.
Das obige ist der detaillierte Inhalt vonWarum kann ich meine Leinwand nicht als Bild exportieren? (Tainted Canvases-Fehler). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn