私は次のコードスニペットを持っていると私は(XAMPPを実行しているOSX、)ローカルホストからそれを実行しようとしている:localhostのcontext.getImageData()?
var canvas = document.getElementById('mycanvas');
var cx = canvas.getContext('2d');
var myImg = new Image();
myImg.src = 'images/lion.jpg';
$(myImg).load(function() {
cx.drawImage(myImg, 0, 0);
var imgData = cx.getImageData(0,0,150,150);
});
しかし、私はそれを実行したとき、私は、コンソールからこのエラーを取得する:
Unable to get image data from canvas because the canvas has been tainted by cross-origin data.
site.js:11Uncaught Error: SECURITY_ERR: DOM Exception 18
私はここでいくつかの類似の質問を見つけました。これはローカルで作業しているという事実と関係しており、同じドメインから画像にアクセスしようとした場合は起こりません。これが理にかなっているかどうかはわかりませんが、それは私が理解していることです。
私の質問は、ローカルの開発環境でこの作業を行うにはどうすればいいですか?
チャームのように働いて、ありがとう! –
いつも可能なわけではありません。これは、Autorun.inf経由でターゲットマシン上でローカルに実行されるCD上のサイトを置く場所にあるため、サーバーをセットアップしたり、ネットワークアクセスに依存したりすることができません)利用可能ですか? 他のすべてのブラウザで魅力を動作しますが、クロームコンソールで述べている: 悲しい回を「汚染されたキャンバスにエクスポートすることはできませんキネティック警告:データのURLを取得できません 『HTMLCanvasElement』オン 『toDataURL』を実行できませんでしたが。。」 –
ループバック(127.0.0.1)ネットワークは常に利用できます。 – clowwindy