經過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