Failed to execute 'toDataURL' on 'HTMLCa

2019独角兽企业重金招聘工程师标准>>>
Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.

Failed to execute 'toDataURL' on 'HTMLCa

文章插图
大概意思是无法执行方法:污染的画布无法输出,请原谅我的灵魂翻译 。
【Failed to execute 'toDataURL' on 'HTMLCa】经 发现原来是受限于 CORS 策略,会存在跨域问题,虽然可以使用图像(比如到页面上)但是绘制到画布上会污染画布,一旦一个画布被污染,就无法提取画布的数据,比如无法使用使用画布(),(),或()方法;当使用这些方法的时候 会抛出一个安全错误
解决方案:
Failed to execute 'toDataURL' on 'HTMLCa

文章插图
图片设置 :属性
代码片段:img.("",'')
完整代码:
``var canvas=document.getElementById("canvas"),//获取canvasctx = canvas.getContext("2d"), //对应的CanvasRenderingContext2D对象(画笔)img = new Image(),//创建新的图片对象base64 = '' ;//base64 img.src = http://www.kingceram.com/post/'http://www.xxxx.png';img.setAttribute("crossOrigin",'Anonymous')img.onload = function(){//图片加载完,再draw 和 toDataURLctx.drawImage(img,0,0);base64 = canvas.toDataURL("image/png"); };