代码是:
var img2 = new Image,
canvas = document.createElement("canvas"),
ctx = canvas.getContext("2d");
img2.src = src;
img2.crossOrigin = "Anonymous";
img2.onload = function() {
canvas.width = img2.width;
canvas.height = img2.height;
ctx.drawImage( img2, 0, 0 );
console.log(canvas.toDataURL("image/png"));
}
错误内容是
Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
canvas使用加载跨域图片的img,除了要设置的crossOrigin属性。
还要看该跨域图片所在的服务器是否允许跨域访问。
所以,你这个明显是要加载图片的服务器不允许跨域。
在服务器上相应头里:设置Access-Control-Allow-Origin为 * ,就可以允许跨域。