「汚染されたキャンバスはエクスポートできない可能性があります」エラーの解決
canvas.toDataURL() を使用してキャンバスを画像に保存しようとすると、次のような問題が発生する場合があります。エラー:
Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
ログイン後にコピー
原因:
セキュリティ上の理由から、ローカル ハード ドライブは「他のドメイン」とみなされ、キャンバスが汚染されます。
解決策:
テスト中に、次の解決策を試すことができます:
-
すべてのページ関連ファイルをデスクトップ上に配置する: HTML、JPG、JS、CSS などのファイルはすべて、サブフォルダーではなくデスクトップに配置します。
-
クロスドメイン共有をサポートするサイトに画像を公開します: DropBox.com や GitHub など。画像をダウンロードするときは、必ず DropBox のパブリック フォルダーに画像を配置し、クロスオリジン フラグ (var img=new Image(); img.crossOrigin="anonymous" ...) を設定してください。
-
開発マシンに Web サーバーをインストールします。たとえば、IIS と PHP Web サーバーは両方とも、ローカル マシンで適切に動作する無料バージョンを持っています。
以上がキャンバスを画像としてエクスポートできないのはなぜですか? (汚染されたキャンバスエラー)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。