在 contentscript 中使用var canvas = document.createElement("canvas");canvas.width = img.width;canvas.height = img.height;var ctx = canvas.getContext("2d");ctx.drawImage(img, 0, 0);return canvas.toDataURL("image/png");報出下面的錯誤Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.請問有什么解決的方法?
1 回答

jeck貓
TA貢獻1909條經驗 獲得超7個贊
加上 img.crossOrigin = "*"
即可。
這個問題和 Chrome extension 可沒有太大的關系,鄙人前些日子正好有在相同的情景下用過 canvas,這是我的代碼:https://github.com/lizheming/dbm/blob/master/script.js#L16-L33 ,不嫌棄的話請移步觀看。問題的關鍵是要開啟 canvas 對 圖片 的跨域權限才可以,關于這個你可以參考一下我的這個答案,或許對你有些幫助:http://segmentfault.com/q/1010000000768672/a-1020000002436172
- 1 回答
- 0 關注
- 774 瀏覽
添加回答
舉報
0/150
提交
取消