Javascript Firefox跨域图像被污染

Javascript Firefox跨域图像被污染,javascript,firefox,canvas,cross-domain,cors,Javascript,Firefox,Canvas,Cross Domain,Cors,这在Chrome中有效,但在firefox中无效。Access Control Allow Origin设置为*,图像加载时crossOrigin设置为anonymous,但是在firefox中将图像绘制到画布上时,它们会污染画布。加载图像的代码如下所示: var image = new Image(); image.onload = loadCallback; image.crossOrigin = "anonymous"; image.src = imageSrc; 有几个问题: Fire

这在Chrome中有效,但在firefox中无效。Access Control Allow Origin设置为*,图像加载时crossOrigin设置为anonymous,但是在firefox中将图像绘制到画布上时,它们会污染画布。加载图像的代码如下所示:

var image = new Image();
image.onload = loadCallback;
image.crossOrigin = "anonymous";
image.src = imageSrc;
有几个问题:

  • Firefox是否有我所缺少的东西?它需要的标题是否比访问控制允许的多
  • 是否有任何方法可以从加载的映像中确定它已被污染(这对于调试非常有用)
  • 服务器的域名是相同的,它们只是不同的子域(即images.example.com和mysite.example.com),有没有办法利用这个优势,或者我真的应该有一个代理来执行passthru,而忘记处理CORS问题

  • Firefox9中添加了对在画布上绘制启用CORS的图像时不污染画布的支持。看


    因此,如果您使用Firefox8进行测试,它将不起作用。尝试Firefox 9测试版?

    哪一版本的Firefox?在最近的几个版本中,这一点已经做了调整。我正在为未来做一些事情,所以我希望答案能在最新的Firefox上运行。这对于PNG和JPG是正确的,但对于SVG图像,它们仍然会污染画布。(我相信这是因为它们里面可能包含异物)@brettlaforge这在Firefox10中是正确的,但从Firefox11开始,一年多前就被修复了。看见不过,WebKit仍然有一个类似的bug。