即使启用了通过 JavaScript 加载的图像,也会向我抛出 CORS 错误

Posted

技术标签:

【中文标题】即使启用了通过 JavaScript 加载的图像,也会向我抛出 CORS 错误【英文标题】:Images loaded through JavaScript are throwing me CORS errors even though it's enabled 【发布时间】:2014-02-13 07:48:41 【问题描述】:

我正在使用 PaintbrushJS 为通过 JS 加载的跨域图像着色,但每次尝试时,我都会在 Chrome 中收到警告:Cross-origin image load denied by Cross-Origin Resource Sharing policy. 我有适当的 CORS 标头和crossOrigin="anonymous"图片。

事情是这样的,如果我将 <img>src 硬编码到 html 中,我仍然会收到错误,但着色确实有效,这让我相信一旦通过 JS 加载图像,它会再次受到污染。奇怪的是,我可以将这些“重新污染”的图像放到画布上并从中读取,而不会出现任何跨域警告。

知道如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

事实证明,如果图像上有crossOrigin="anonymous" 属性,如果图像没有返回正确的 CORS 标头,浏览器将不会喜欢它。

【讨论】:

以上是关于即使启用了通过 JavaScript 加载的图像,也会向我抛出 CORS 错误的主要内容,如果未能解决你的问题,请参考以下文章

即使在启用 Javascript 后 WKWebView 也无法正常工作 - Swift

点击事件后:如何通过 javascript 向 URL 添加内容?

即使延迟加载,带有图像的滚动视图仍然崩溃?

使用图像加载预加载 DIV

通过 JavaScript 加载 SPDY 和延迟图像

如何通过 JavaScript 保存图像