正如标题所说,我已经为所有图像启用了 CORS,但是当我试图将它们扔到画布上然后提取该画布(Chrome 和 FF)时,我仍然遇到错误。我在其中一张图片上运行了一个小嗅探器来测试它,它似乎实际上返回了正确的标题:
访问控制允许来源:*
我错过了什么吗?
正如标题所说,我已经为所有图像启用了 CORS,但是当我试图将它们扔到画布上然后提取该画布(Chrome 和 FF)时,我仍然遇到错误。我在其中一张图片上运行了一个小嗅探器来测试它,它似乎实际上返回了正确的标题:
访问控制允许来源:*
我错过了什么吗?
您需要请求服务器使用 CORS,只需将此属性添加到图像标签:
<img crossOrigin="anonymous" ... />
或从 JavaScript 动态地使用它作为属性(假设img
已创建或获得):
var img = new Image;
img.onload = callback;
img.crossOrigin = ''; /// = anonymous
img.src = '...';
如果您有多个图像要加载,您可以使用支持跨域请求的图像加载器(例如我的YAIL 加载器,您可以在其中请求使用 CORS 加载所有或单个图像)。