在用canvas写颜色取反demo时用到getImageData方法无法获取图片信息。代码如下:
1 | (function(){ |
当在Chrome下预览时控制台报错,错误信息如下Uncaught DOMException: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.
,而在IE和Edge下就没有这种情况。
经过在网上查阅,错误原因是getImageData()方法跨域问题。图片文件存储在本地,默认为没有域名,chrome浏览器判断为跨域才报错。(更深层次的原因还待挖掘)
解决方法:把demo放在apache服务器跑就不会报错。
注:图片素材来源为知乎网友,侵删。
__END__
文章作者:Live For Code
文章出处:Chrome下getImageData的跨域问题
作者签名:简单地活着, 肆意又精彩.
关于主题:Hexo - Live For Code
版权声明:文章除特别声明外,均采用 BY-NC-SA 许可协议,转载请注明出处
文章出处:Chrome下getImageData的跨域问题
作者签名:简单地活着, 肆意又精彩.
关于主题:Hexo - Live For Code
版权声明:文章除特别声明外,均采用 BY-NC-SA 许可协议,转载请注明出处