image.crossOrigin仅在禁用浏览器缓存时有效

时间:2019-07-14 13:51:17

标签: javascript cors webgl

我正在使用webgl向图像添加效果。

该webgl脚本本应托管在任何人的网站上,但我不知道他们的图像有什么相关政策。

我发现,通过在js中动态制作新图像,添加.crossOrigin =“ Anonymous”,并将图像的src设置为用户页面上的图像,会导致浏览器向服务器请求cors使用。

但是,这仅在我处于开发模式且所有缓存均已关闭时才有效。当我允许页面缓存时,出现“图像已被CORS策略阻止”错误。

在检查“网络”标签时,我看到2个请求,以加载有问题的图像。

第一个请求是由html页面发出的。它返回带有许多标题的图像,但是因为html文档没有设置“ crossOrigin”,所以允许cors标题不存在。

第二个请求是我的JavaScript请求,该请求寻求crossOrigin访问。但是,它只是从磁盘缓存中加载映像,并拒绝它,因为标头不在磁盘缓存的版本上。

如果对服务器提出了交叉来源请求,则服务器被设置为发送标头。我该如何解决这个问题?

0 个答案:

没有答案