2013-04-25 17 views
7

Javascriptの実装に問題があります。このスクリプトは、Firefoxで動作しますが、Chromeでそれは言う:Chromeで「Canvas has tainted」エラーが表示されますが、FFでは表示されません

Unable to get image data from canvas because the canvas has been tainted by cross-origin data. index.html:1 
Uncaught Error: SecurityError: DOM Exception 18 

誰もがこのような矛盾した行動の原因は何ができるかのアイデアを持っていますか?

+1

画像がメインページと異なるドメインから来た場合、キャンバスは「汚染された」とみなされます。イメージURLを投稿していないので、あなたに何が起こっているのかを正確に伝えることは不可能です。 – Pointy

+2

ありがとうポイント。 URLは、イメージファイルがインデックスファイルと同じフォルダにあるため、ローカルファイル名に過ぎません。奇妙なことだが、それはFirefoxで問題なく動作するが、クロムは青から始まりました。 – AndroidHustle

答えて

7

Chromeでは、異なるローカルファイルが同じドメインから取得されるとはみなされません。つまり、file://のURLで参照する各ローカルファイルは、他のfile://のURLとは別の固有のドメインからのものとして扱われます。同じディレクトリにいると違いはありません。

ローカルファイルをすべて共通ドメインのものとして扱うように指示するオプション(「--allow-file-access-from-files」と思います)を使用してChromeを起動することができます。

+0

あなたのご意見ありがとうございます!あなたが書いたことに基づいて[この投稿](http://stackoverflow.com/questions/9972049/cross-origin-data-in-html5-canvas)を見つけました。私はURLがどのようにフォーマットされるべきかを完全には分かっていないが、私はそれほど良くはないと認めなければならない。 私が今使っているURL:** file:/// C:/Users/Max/Dropbox/Web%20projekt/Shalette/index.html**。これをどのように調整する必要がありますか? * http:// localhost // C:/Users/Max/Dropbox/Web%20projekt/Shalette/index.html**を入力すると、Chromeコンソールで何らかのプロセスが開始されます。あなたが私に与えることができる情報は非常に高く評価されています! – AndroidHustle

+1

@AndroidHustle '--allow-file-access-from-files'コマンドラインフラグを使用する必要があります。そうしないと、http:'(または 'https:')を使ってHTTP経由でWebサーバーからコンテンツを提供する必要があります。 )スキーム。 – apsillers

+0

@apsillersありがとう、申し訳ありませんが、このコマンドラインはどこですか?私はそれを検索するときにChromeで開く方法について何も表示されません。さらに、コンソールで見るとChromeでコマンドラインのようなものは表示されません。 – AndroidHustle

関連する問題