【发布时间】:2011-10-31 01:06:56
【问题描述】:
问题:哪些浏览器版本支持 Canvas 中使用的跨域图像的 CORS(跨域资源共享)标头?
CORS 可以应用于跨域 XMLHttpRequest 和图像请求。这个问题是关于图像请求我通常会去浏览器版本兼容性http://caniuse.com/cors 不清楚这个问题,谷歌搜索没有很好的结果。
我确实发现最近的 chrome 开发博客暗示 CORS 支持在现代浏览器中广泛传播,但可能会因为 WebGL 安全问题而中断。
http://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
有关 CORS 的更多详细信息:
我们正在考虑将 canvas 和 CORS 用于跨域图像请求的可行性,如 W3C 工作草案http://www.w3.org/TR/cors/#use-cases 中所述。 html canvas 使用 CORS 允许以类似于 flash 使用 crossdomain.xml 的方式使用跨域资源。基本上,我们想要读取/编辑图像数据像素并且我们不想使用同源代理服务器。
通常,如果图像是跨域加载并与 html canvas 一起使用,则使用 canvas.toDataURL() 等函数访问像素将引发安全错误。但是,如果提供图片的服务器添加这样的header,应该允许跨域使用。
access-control-allow-origin: *
我们最关心的浏览器:
我们计划使用 flash 解决 IE 缺乏画布支持的问题,因此对于有 CORS 问题的桌面浏览器,我们也可以这样做,但在移动 flash 上不是一个选项,并且使用代理来使请求相同在我们的用例中,origin 不是一个选项。所以,我对 Android、Iphone、IPAD 浏览器对 CORS 的支持特别感兴趣。
【问题讨论】:
标签: html canvas cross-domain security cors