私はキャンバスを使用して画像を自動的に切り抜き、そのデータURLを返すプロジェクトに取り組んでいます。外部サーバーからのイメージを使用します。外部サーバーには、適切なCORSヘッダーがあり、イメージがクロスオリジンであってもトリミング後にデータURIに変換されます。Canvas.toDataURL()はIE10を除くすべてのブラウザで動作します
canvas.toDataURL()が呼び出されたときに 'SCRIPT5022:SecurityError'がスローされるIE 10以外のすべてのブラウザで、コードは完全に(セキュリティエラーなしで)動作します。
これはIEのバグか、Idiot Exploderで動作させるためにコード内で違ったやり方で行う必要がありますか?ありがとう。 -Scott
EDIT ここでは、私はキャンバスを作成して描画するために使用しているコード(のほとんど)です。
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var img = new Image();
img.src = imageServerURL + '?id=' + imageIdToGet; // imageServerURL points to a different domain but the server has headers allowing requests from my domain
/*
code here that defines the cropping area, in variables like ulX, lrY, etc.
*/
ctx.beginPath();
ctx.moveTo(ulX, ulY);
ctx.lineTo(urX, urY);
ctx.lineTo(lrX, lrY);
ctx.lineTo(llX, llY);
ctx.closePath();
ctx.clip();
ctx.drawImage(img, 0, 0);
var url = canvas.toDataURL(); // This succeeds in all other browsers but throws a SecurityError in IE
手始めに、私達にあなたのコードを示し、および/または、このキャンバスを作成する方法について説明し、どのようなことが含まれています。 –
オリジナルの質問が編集されました。 –