我在使用带有画布(Pixastic)的启用CORS的图像时遇到问题。
在服务器上我有
Header set Access-Control-Allow-Origin "*"
在我的htaccess文件中。
在客户端,我尝试在HTML中设置crossorigin属性,如下所示:
<img src="http://myseconddomain/image.jpg" crossorigin="anonymous" />
没有成功。 之后我尝试了Pixastic的代码:
var el = elements[i];
el.crossOrigin = 'anonymous';
也不起作用。
我也禁用了chrome的缓存,但它没有帮助。
Chrome正在记录:
Uncaught Error: SECURITY_ERR: DOM Exception 18
Unable to get image data from canvas because the canvas has been tainted by cross-origin data.
即使HTML看起来很好(设置了crossorigin
属性),图片标题看起来还不错(Access-Control-Allow-Origin
)...
我不知道下一步该尝试什么,所以欢迎任何建议!
很遗憾,我无法提供任何链接,因为您可以猜到这个应用程序远没有生产。
答案 0 :(得分:2)
我找到了一种方法,我会在这里发布,所以希望有一天它会帮助某人。
碰巧我没有弄乱Pixastic代码中的正确功能,因为init()函数并不总是按照我的想法调用。
我在Pixastic.process()函数中添加了以下行:
dataImg.crossOrigin = "anonymous";
它就是诀窍。