前端Img使用图片跨域问题是怎么引起的?该如何解决呢?

2023-10-26

在项目种遇到一个问题,图片在dom节点这种使用了<img>标签来加载可以正常显示,但是运用到style中没有经过标签的加载就会出现跨域的问题
在这里插入图片描述

怎么会引起这个问题呢?

1.通过<img> 加载的图片,浏览器默认情况下会将其缓存起来。

2.当我们从 JS 的代码中创建的 <img> 再去访问同一个图片时,浏览器就不会再发起新的请求,而是直接访问缓存的图片。但是由于 JS 中的 <img> 设置了 crossorigin,也就意味着它将要以 CORS 的方式请求,但缓存中的图片显然不是的,所以浏览器直接就拒绝了。连网络请求都没有发起。

3.在 Chrome 的调试器中,在 network 面板中,我们勾选了 disable cache 选项,验证了问题确实如第 2 点所述,浏览器这时发起了请求并且 JS 的 <img> 也能正常请求到图片。

如何解决这个问题?

1.在工作中遇到这个问题的话,就需要你的后端小伙伴在服务器配置一个字段

Access-Control-Allow-Origin: *

如果服务器不配置,客户端怎么操作也是没用的。
2.如果你现在已经遇见这个问题的话,想要怎么解决的话,在解决问题之前记得清楚一些浏览器缓存的图片。

总结

1.同一张图片或者同一个地址,同时被<img> 所访问,而随后后又会被如 JS 中去访问。而图片存储的地址是跨域的,那么就可能因为缓存问题而导致 JS 中的访问出现跨域问题。
2.解决的办法是让 <img>标签和 JS 中的访问都走跨域访问的方式,这样既可以解决跨域访问的问题,也可以解决跨域图片在 canvas 中的复用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端Img使用图片跨域问题是怎么引起的?该如何解决呢? 的相关文章

  • 如何通过索引访问 JSON 对象中的字段

    我知道这不是最好的方法 但我别无选择 我必须通过索引访问 JSONObject 中的项目 访问对象的标准方法是只写this objectName or this objectName 我还找到了一种获取 json 对象内所有字段的方法 fo
  • 在react中使用map方法渲染JSON API

    我对 JSON 对象 数组和映射方法的语法和结构有困难 我是 React 新手 正处于学习的初始阶段 这是我粘贴在下面的 JSON 文件代码 cloud Asia availability last15Min 100 last24Hour
  • nlohmann/json 框架中的未知断点

    一段时间以来 当我在启用断点的 Xcode 下运行我的应用程序时 我显然在名为 nlohmann basic json 的系统框架中遇到了一个未知断点 我可以毫无问题地继续执行 但这无论如何都很烦人 知道这个断点的原因是什么 或者更好的是
  • Avro 模式中是否可以有一个可选字段(即该字段根本不会出现在 .json 文件中)?

    Avro 模式中是否可以有一个可选字段 即该字段根本不会出现在 JSON 文件中 在我的 Avro 架构中 我有两个字段 name author type null string default null name importance t
  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • 使用 JaxRS 自定义 JSON 序列化

    在 Web 服务调用中 我想返回具有此 JSON 结构的对象 date 30 06 2014 price val 12 50 curr EUR 我想将此 JSON 代码映射到此 Java 结构 使用乔达时间 http www joda or
  • 如何循环遍历 JSON 数组?

    我有一些 JSON 代码 其中包含多个对象 MNGR NAME Mark MGR ID M44 EMP ID 1849 MNGR NAME Steve PROJ ID 88421 PROJ NAME ABC PROJ ALLOC NO 49
  • 使用 Python 将 Json 转换为换行 Json 标准

    我有一个获取嵌套对象并删除所有嵌套的代码 使对象平坦 def flatten json y param y Unflated Json return Flated Json out def flatten x name if type x
  • 使用 TestRestTemplate 和 MockRestServiceServer 时,解析异常而不是实体列表不起作用

    我有一个简单的控制器 CODE https github com joergi tryouts blob main kotlin mockrestserver src main kotlin io joergi kotlinmockrest
  • JSON.stringify 对于大型对象来说非常慢

    我在 javascript 中有一个非常大的对象 大约 10MB 当我对其进行字符串化时 需要很长时间 因此我将其发送到后端并将其解析为一个对象 实际上是带有数组的嵌套对象 这也需要很长时间 但这不是我们在这个问题中的问题 问题 我怎样才能
  • 使用 mongoimport 从 Windows 文件夹批量导入 MongoDB

    我的存档中有很多 json 文件 我需要将它们导入到 mongo 每一个操作中 我认为它可能是循环的 你对此有什么想法吗 如果您使用的是 Linux Unix shell 您可以尝试 for filename in do mongoimpo
  • Python:json_normalize pandas 系列给出 TypeError

    我在 pandas 系列中有数万行像这样的 json 片段df json IDs lotId 1 Id 123456 date 2009 04 17 bidsCount 2 IDs lotId 2 Id 123456 date 2009 0
  • 如果 Row1 = 值 1,则更新其他行

    我有一个小的 php 脚本 用于访问 mySql 数据库 我想在数据库中插入新记录之前查看该数字 值 1 是否等于数据库中的记录 这也在第 1 行 所以我想 查看传入的电话号码是否等于数据库中的电话号码 如果是这样 则必须保持电话号码相同的
  • 将 JSON 数据导入 Google 表格

    我从 Web 服务中提取数据 其格式为 JSON 我正在为 Google Sheets 编写一个 Google Apps 脚本 它将为我填充数据 我的问题是 我似乎无法解析它 Doing var dataset myJSONtext Bro
  • 在 Django 模板中通过键访问字典

    我正在将字典从我的视图传递到模板 所以 key1 value1 key2 value2 传入并循环键 值对很好 但是我还没有找到从特定键直接在视图中访问的优雅解决方案 例如 key1 例如 bu json items key1 我可以使用一
  • dart中解析对象(不支持的操作:无法添加到固定长度列表)

    我有一个用户对象 当用户登录 注册时 该对象保存到云 Firestore 数据库中 因此 当用户登录时 将从数据库中检索用户对象 并且一切正常 直到我尝试对列表 usersProject 执行 添加 操作 Add the new proje
  • 在 Play2 和 Scala 中解析没有数据类型的 JSON

    people name Jack age 15 name Tony age 23 name Mike age 19 这是我试图解析的 json 示例 我希望能够对每个人进行 foreach 操作并打印他们的姓名和年龄 我知道当 json 数
  • 使用 KnockoutJs 映射插件进行递归模板化

    我正在尝试使用以下方法在树上进行递归模板化ko映射 插入 http knockoutjs com documentation plugins mapping html 但我无法渲染它 除非我定义separate每个级别的模板 在以下情况下
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 创建一个 JSON 对象以在 Spring Boot 测试中发布

    我想编写基本测试来使用 JSON 负载在 users URL 上执行 POST 请求来创建用户 我找不到如何将新对象转换为 JSON 到目前为止有这么多 这显然是错误的 但解释了目的 Test public void createUser

随机推荐

  • Qt实现多线程编程的两种方式

    Qt实现多线程编程的两种方式 方式一 继承自QThread类 覆写run函数 此实现方法只有run函数内的代码是运行在子线程内 代码示例 ifndef QDEMOTHREAD H define QDEMOTHREAD H include
  • 自定义控件MeasureSpecs与measure的理解

    MeasureSpace 是android中父view传递给子view的用来描述对子 view布局需求的数据类型 也就是说父布局把它希view的大小以及变化的尺度分装在这个类里 而子view的measure 方法拿到这个数值 则会根据这个数
  • 【基于机器学习的全国降水量预测分析可视化-哔哩哔哩】 https://b23.tv/RsGfqeD

    基于机器学习的全国降水量预测分析可视化 哔哩哔哩 https b23 tv RsGfqeD https b23 tv RsGfqeD
  • Python脚本报错AttributeError: ‘module’ object has no attribute’get’解决方法

    发现代码都没有错 后来是改成这样 def pprint name var get print name var StringVar Label root text 姓名 font 微软雅黑 20 grid inputStr1 Entry r
  • RabbitMQ消息队列(转)

    转自 https www jianshu com p 79ca08116d57 关于消息队列 从前年开始断断续续看了些资料 想写很久了 但一直没腾出空 近来分别碰到几个朋友聊这块的技术选型 是时候把这块的知识整理记录一下了 市面上的消息队列
  • darknet-yolov4编译

    在个人win10上运行darknet yolov4 准备 电脑msi显卡 gtx1050ti 4g 驱动451以上 内存金士顿8g 必须项准备 先安装vs2017 必须勾选c 再cuda 我装了cuda10 0和9 2 上移环境变量 使10
  • 高级数据库总结

    总结 一 总结笔记 首先是我们会用到的几张数据表 1 学习数据库的必要性 时代迎来大数据时代 数据量的庞大已经不足以用人力来计算 为此我们需要一个软件或者一套流程来解决这个问题 那么数据库肯定是最佳选择 学点东西总是好的 2 Mysql数据
  • Netty:option和childOption参数设置说明

    转载 http www jianshu com p 0bff7c020af2 Channel配置参数 1 通用参数 CONNECT TIMEOUT MILLIS Netty参数 连接超时毫秒数 默认值30000毫秒即30秒 MAX MESS
  • [Android][设置最小(大)宽高]

    1 简介 TextView里定义的方法 据说是设置文本区域的宽高 android maxWidth 关联方法 setMaxWidth int 属性说明 设置文本区域的最大宽度 android maxHeight 关联方法 setMaxHei
  • Linux下获取ip、mac、子网掩码、广播地址信息

    get interface c include
  • 随机数算法,SQL

    SELECT FROM prizes config WHERE weight gt SELECT FLOOR RAND MAX weight FROM prizes config order by weight asc LIMIT 1 记录
  • RPM 软件包使用常见问题

    1 如何安装rpm软件包 rmp软件包的安装可以使用程序rpm来完成 执行下面的命令 rpm i your package rpm 其中your package rpm是你要安装的rpm包的文件名 一般置于当前目录下 安装过程中可能出现下面
  • SpringBoot配置文件敏感信息加密-jasypt

    使用过SpringBoot配置文件的朋友都知道 资源文件中的内容通常情况下是明文显示 安全性就比较低一些 打开application properties或application yml 比如mysql登陆密码 redis登陆密码以及第三方
  • Unity-角色互动加分显示的实现

    文章目录 角色互动加分显示的实现 在角色的脚本里设置分数 布置页面以及编译对应的脚本 使用事件委托将两者连接 角色互动加分显示的实现 思路 在角色的脚本里对应该加分的地方用变量统计分数 同时再创建一个ui对象 然后用委派事件获取角色的得分
  • [paper] Hourglass

    Stacked Hourglass Networks for Human Pose Estimation Abstract Hourglass Net是一个进行人体位姿估计的卷积神经网络 也可以用在人脸关键点检测等领域 它结合了身体上的空间
  • WChar_t 字符集的操作函数

    函数介绍 wcslen 类似与char 类型作参数的strlen 函数 用来获取wchar t 变量的长度 不包含终结符 wcscpy 类似与char 类型作参数的strcpy 函数 用来进行wchar t 变量之间的复制 同样的还有 wc
  • Qt应用开发(基础篇)——布局管理 Layout Management

    一 前言 在实际项目开发中 经常需要使用到布局 让控件自动排列 不仅节省控件还易于管控 Qt布局系统提供了一种简单而强大的方式来自动布局小部件中的子小部件 以确保它们充分利用可用空间 所有QWidget子类都可以使用setLayout 设置
  • JavaScript面向对象详解

    声明 本人的所有博客皆为个人笔记 作为个人知识索引使用 因此在叙述上存在逻辑不通顺 跨度大等问题 希望理解 分享出来仅供大家学习翻阅 若有错误希望指出 感谢 面向对象 JavaScript中没有类的概念 我们可以把对象看作散列表 无非就是一
  • html中的checkbox不显示值,html checkbox的checked属性问题和value属性问题

    lt html xmlns http www w3 org 1999 xhtml gt lt head gt lt script type text JavaScript gt function onbutton document getE
  • 前端Img使用图片跨域问题是怎么引起的?该如何解决呢?

    在项目种遇到一个问题 图片在dom节点这种使用了 img 标签来加载可以正常显示 但是运用到style中没有经过标签的加载就会出现跨域的问题 怎么会引起这个问题呢 1 通过 img 加载的图片 浏览器默认情况下会将其缓存起来 2 当我们从