用過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');