Tôi đang làm việc trên một dự án sử dụng canvas để tự động cắt hình ảnh, sau đó trả về URL dữ liệu của nó. Nó sử dụng hình ảnh từ một máy chủ bên ngoài, trong đó có các tiêu đề CORS thích hợp để cho phép các hình ảnh được chuyển đổi thành URI dữ liệu sau khi chúng được cắt mặc dù chúng có nguồn gốc chéo.Canvas.toDataURL() hoạt động trong tất cả các trình duyệt ngoại trừ IE10
Mã hoạt động hoàn hảo (và không có lỗi bảo mật!) Trong tất cả các trình duyệt ngoại trừ IE 10, trong đó nó ném 'SCRIPT5022: SecurityError' khi canvas.toDataURL() được gọi.
Đây có phải là lỗi trong IE hay điều gì đó mà tôi cần phải làm khác trong mã của mình để làm cho nó hoạt động trong Idiot Exploder? Cảm ơn. -Scott
EDIT Đây là (hầu hết) mã tôi đang sử dụng để tạo và vẽ canvas;
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
Để bắt đầu, hãy cho chúng tôi biết mã của bạn và/hoặc giải thích cách tạo canvas này. –
Đã chỉnh sửa câu hỏi gốc. –