控制台日志:未捕获的安全错误:无法在“CanvasRenderingContext2D”上执行“getImageData”:画布已被跨源数据污染

Mar*_*yon 3 javascript console jquery plugins jquery-plugins

嘿,我正在尝试实现一个名为backgroundcheck的jquery插件,它给了我控制台日志错误:“未捕获的安全错误:无法在'CanvasRenderingContext2D'上执行'getImageData':画布已被跨源数据污染。” 我已经按照他在说明中所说的去做了所有事情,但它不起作用。任何帮助将不胜感激。

更新:

这是下拉菜单中主要错误下的三个错误。

calculatePixelBrightness VM682 background-check.min.js:571
processTargets VM682 background-check.min.js:631
check VM682 background-check.min.js:766
Run Code Online (Sandbox Code Playgroud)

这也是它的屏幕截图

Tra*_*s J 5

jsFiddle Demo

该错误是由于图像位于不同的域而导致的。不过,对此有一个令人惊讶的简单补救措施,即将该属性添加crossDomain = "anonymous"到图像元素本身。

例如,

<img src="http://i.imgur.com/UnnoYbv.jpg" crossOrigin="anonymous" draggable="false" />
Run Code Online (Sandbox Code Playgroud)