Я работаю над проектом, который использует холст для автоматической обрезки изображения, а затем возвращает URL-адрес данных. Он использует образы с внешнего сервера, у которого есть соответствующие заголовки CORS, чтобы позволить изображениям преобразовываться в URI данных после их обрезания, даже если они являются перекрестными.
Код работает отлично (и без ошибок безопасности!) во всех браузерах, кроме IE 10, в котором он выдает "SCRIPT5022: SecurityError", когда вызывается canvas.toDataURL().
Это ошибка в IE или что-то, что мне нужно сделать по-другому в моем коде, чтобы он работал в Idiot Exploder? Благодарю. -Скотт
ИЗМЕНИТЬ Вот (большинство) код, который я использую для создания и рисования холста;
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