canvas.toDataURL 因爲跨域報錯的解決方法

關於canvas.toDataURL 因爲跨域報錯的解決方法

用過canvas,都知道toDataURL這個方法真好用,不只合成圖片用到它,壓縮圖片也用到它。但有一個問題,就是圖片源不能跨域,否則會報錯:canvas

Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.

解決方法,相信你們都知道了,就是在圖片img加上crossOrigin屬性,賦值爲Anonymous。但還有一個關鍵的地方,就是設置crossOrigin要在設置src地址以後,不然是沒有效果的:跨域

var img = new Image();
img.src = '.....';  //順序不能錯
img.setAttribute("crossOrigin",'Anonymous');
相關文章
相關標籤/搜索