我正在使用paintbrushjs对通过JS加载的跨域图像进行着色,但是每次尝试时,我都会在Chrome中发出警告:Cross-origin image load denied by Cross-Origin Resource Sharing policy.
我都有适当的CORS标头,并且 crossOrigin="anonymous"
扔到图像上。
这是事实,如果我将<img>
的src
硬编码放入HTML中,我仍然会遇到错误,但是着色实际上有效,这会使我相信一旦通过JS加载图像,它就会重新恢复污染。很奇怪的是,我可以将这些"重新污染"的图像扔到画布上,并从中读取而没有任何交叉警告。
任何想法如何修复?
事实证明,如果您在图像上具有crossOrigin="anonymous"
属性,则浏览器将不会喜欢它,如果图像不返回合适的CORS标头。