img 标签如何通过 cors 标头获取内容
Posted
技术标签:
【中文标题】img 标签如何通过 cors 标头获取内容【英文标题】:How img tag gets content over cors headers 【发布时间】:2018-06-07 06:38:13 【问题描述】:为什么,当我使用 fetch 从禁用响应 CORS 标头的服务器加载数据时,我预计会收到错误:Failed to load http://www.imgworlds.com/wp-content/uploads/2015/12/18-CONTACTUS-HEADER.jpg: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63343' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
但是会显示来自 img 标签的图像
<script>
fetch('http://www.imgworlds.com/wp-content/uploads/2015/12/18-CONTACTUS-HEADER.jpg').then(console.log);
</script>
<img src="http://www.imgworlds.com/wp-content/uploads/2015/12/18-CONTACTUS-HEADER.jpg">
【问题讨论】:
【参考方案1】:跨域共享标准不包括img
标签,但 XHR/fetch 请求和某些情况下包括将图像绘制到画布上。
更多信息: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#What_requests_use_CORS
【讨论】:
以上是关于img 标签如何通过 cors 标头获取内容的主要内容,如果未能解决你的问题,请参考以下文章
将 no-cors 包含在标头中以获取 react.js 中的 json 内容时出现奇怪的错误
如何使用 Firebase 托管的 webapp 获取没有 CORS 标头的外部数据?
是否可以直接从 html img 标签 src 向服务器请求文件并使用 jwt 身份验证标头加载它?