因为项目是前后端分离的项目,我在后端使用的zuul作为网关转发,配置了跨域请求
页面图片都可以加载,但是在画布new Inage()贴图的时候出现跨域,清除缓存后又可以正常获取到,找了很多资料
最后在外国网站找到解决方法:javascript - Canvas + CrossOrigin Anonymous + CORS + Chrile + Mac OSX - Stack Overflow
如果您的图像来自不同的域,并且您希望在绘制这些图像后能够导出画布内容,那么除了使用该crossOrigin
属性加载它们之外别无选择。
如果您确实面临链接的错误,根据它,正确的解决方法是始终从您的服务器响应发送CORS标头,无论请求是否使用Origin标头。
一个快速的解决方法是通过在图像的src(img.src = url + '?v=' + Math.random();
)中附加一个随机查询字符串来避免缓存。