ホームページ > ウェブフロントエンド > jsチュートリアル > 画像をエクスポートするときに「汚染されたキャンバス」エラーが発生するのはなぜですか?

画像をエクスポートするときに「汚染されたキャンバス」エラーが発生するのはなぜですか?

Barbara Streisand
リリース: 2024-12-08 06:45:11
オリジナル
994 人が閲覧しました

Why Am I Getting a

汚染されたキャンバス: 画像エクスポートにおけるセキュリティ上の懸念事項を解決する

Web ブラウザーのキャンバス要素は、画像操作とグラフィックスのレンダリングにおいて重要な役割を果たします。ただし、これらのキャンバスから画像をエクスポートすると、「汚染されたキャンバス」エラーが発生する場合があります。これにより、キャンバス データをオリジン間で共有したり、ローカルに保存したりできなくなります。

このエラーは、ブラウザに実装されているセキュリティ対策が原因で発生します。ユーザーのローカル ドライブに保存されている機密データを保護するために、ブラウザはローカル ドライブを「その他のドメイン」エンティティとして分類します。ローカル ドライブとは異なるドメインに由来するキャンバス上にイメージをレンダリングする場合、キャンバスは汚染されているとみなされます。

この問題を解決するには、次の回避策を検討してください:

  • すべての関連ファイルを 1 つのフォルダーに配置します: HTML、画像、JavaScript、CSS を含むすべてのページ関連ファイルが次の場所にあることを確認します。サブフォルダーのない同じフォルダー。これにより、ブラウザーがローカル ドライブを別のドメインとして認識しなくなります。
  • クロスドメイン共有サイトに画像をアップロードする: クロスオリジン リソース共有をサポートするサイトで画像をホストします。 Dropbox または GitHub として。セキュリティ制限を回避するには、イメージをダウンロードするときに「crossOrigin」フラグを「匿名」に設定することを忘れないでください。
  • ローカル Web サーバーを利用します: 開発用コンピューターに Web サーバーをセットアップします。 IIS または PHP。正規のドメインからページとその関連ファイルをホストおよび提供できます。

これらの回避策に従うと、Web ブラウザに実装されているセキュリティ対策を遵守しながら、「汚染されたキャンバス」エラーを克服し、キャンバスから画像を正常にエクスポートできます。

以上が画像をエクスポートするときに「汚染されたキャンバス」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート