javascript - ERR_BLOCKED_BY_RESPONSE.NotSameOrigin CORS 策略 JavaScript
问题描述
这是我从 api 获得的图像 URL
这是我的 HTML
<img src="https://scontent-jnb1-1.cdninstagram.com/v/t51.2885-15/e15/242204298_1728375270686500_5634415857798350440_n.jpg?_nc_ht=scontent-jnb1-1.cdninstagram.com&_nc_cat=104&_nc_ohc=3O8LpuGJsdUAX_E1Dxz&edm=AHlfZHwBAAAA&ccb=7-4&oh=0a22779e81f47ddb84155f98f6f5f75f&oe=6148F26D&_nc_sid=21929d">
当我直接通过浏览器访问 URL 时,我看到了图像。但它没有出现在我的网站上
当我检查调试控制台时,我得到了这个错误。
Failed to load resource: net::ERR_BLOCKED_BY_RESPONSE.NotSameOrigin
当我用谷歌搜索这个问题可能是由于一些 CORS 政策问题。
如何在我的网站上加载此图像而不会弄乱政策和东西......?
<img src="https://scontent-jnb1-1.cdninstagram.com/v/t51.2885-15/e15/242204298_1728375270686500_5634415857798350440_n.jpg?_nc_ht=scontent-jnb1-1.cdninstagram.com&_nc_cat=104&_nc_ohc=3O8LpuGJsdUAX_E1Dxz&edm=AHlfZHwBAAAA&ccb=7-4&oh=0a22779e81f47ddb84155f98f6f5f75f&oe=6148F26D&_nc_sid=21929d">
解决方案
这是一个 CORS 问题,只能在服务器端解决。
响应的标题cross-origin-resource-policy: same-origin
告诉我们资源只能由同一来源访问(当它在 html 页面内调用时,使用现代浏览器)
您可以将图像托管在另一个地方以使用它。
参考:https://developer.mozilla.org/en-US/docs/Web/HTTP/Cross-Origin_Resource_Policy_(CORP)
推荐阅读
- c++ - RcppArmadillo中的两个向量相等?
- javascript - jquery ajax没有在codeigniter上发布任何数据
- drupal-8 - 我有一个看起来像这样的索引数组
- php - PHP提交按钮没有任何效果(PhpStorm)
- angular - 我们如何在路由模块中使用服务来为路由路径提供动态名称?
- groovy - 使用 ant builder 压缩文件并排除在 groovy 中无法按预期工作
- mysql - MySQL没有使用复合索引的所有关键部分
- typescript - 带有 vuejs 打字稿和 pwa 的 firebaseui
- jquery - jquery脚本检查文本框是否为空,或者复选框是否被选中
- vue.js - 如果验证后没有错误,Vusjs Vee-validate 添加类