经过CANVAS的toDataURL、toBlob、getImageData方法能够获取其image数据。但有时候会报Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported的异常。canvas
缘由是,canvas绘制了其余域的image,出现跨域问题。此处的跨域问题虽然不影响canvas的图像正常显示,但却不能执行上述三个方法来获取其内容。跨域
修改方式,两步:get
一、在img元素中增长crossOrigin属性。增长属性的方法又有两种:io
(1)img.crossOrigin="Anonymouse"sso
(2)<img src="..." crossorigin="Anonymous" />请求
二、将img请求的response heard里增长Access-Control-Allow-Origin: *信息。方法
参考:https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_imageim