图片防盗链显示问题,通过 ReferrerPolicy 解决

介绍了图片加载不了的原因:跨域问题、防盗链机制、URL 编码问题、图片路径或参数错误、浏览器或网络问题、HTML 或 CSS 干扰;也介绍了微信小程序中对勾符号被解析成根号的问题。

图片防盗链显示问题,通过 ReferrerPolicy 解决

问题描述

问题描述:最近用百度的植物识别接口时,返回的图片地址单独在浏览器上访问可以正常预览,但是通过 img 标签加载就显示不了

图片地址为:https://bkimg.cdn.bcebos.com/pic/b3b7d0a20cf431adcbeff9b2817ebbaf2edda2cc32ad?x-bce-process=image/resize,m_lfit,w_536,limit_1/quality,Q_70

报错信息如下所示:

Failed to load response data : No data found for resource with given identifier

net::ERR_BLOCKED_BY_CLIENT

问题分析

问题分析:可能的原因有如下几种

  1. 跨域问题: 浏览器对于从不同源加载资源(如图片)有严格的同源策略限制。当图片被嵌入到另一个域名下的网页时,可能会触发跨域限制,查响应头中是否有相关的 CORS(跨源资源共享)限制。
  2. 防盗链机制: 一些图片服务器会采用防盗链措施,仅允许特定来源或经过授权的请求访问图片资源。这种情况下,即使图片链接可以直接在浏览器中打开,但当图片被嵌入到网页的<img>标签中时,服务器可能会检测到请求来源不符合其防盗链规则,从而拒绝服务。
  3. URL 编码问题: 确保在实际使用时<img>标签内的 src 属性值正确编码,特别是如果链接中包含特殊字符或非 ASCII 字符,需要确保它们被正确转码。
  4. 图片路径或参数错误: 链接中可能包含了动态参数(如时间戳、访问密钥等)用于防止缓存或进行访问控制。这些参数可能随着时间或访问次数而变化,导致复制到<img>标签的链接在一段时间后失效。
  5. 浏览器或网络问题: 清除浏览器缓存,尝试在不同的浏览器或设备上测试,以及检查网络连接状况,以排除浏览器特定行为或临时网络故障导致的加载问题。
  6. HTML 或 CSS 干扰: 检查<img>标签及其父元素的 CSS 样式,确认没有设置可能导致图片不可见的属性,如 display: none、visibility: hidden、width: 0、height: 0 等。同时,确认<img>标签本身没有语法错误,如缺失关闭斜杠/>或属性值未用引号包围等。

最后得出的结论是百度图库的防盗链机制导致的

问题解决

问题解决:添加 ReferrerPolicy 属性

js 复制代码
<img src="" referrerPolicy="no-referrer" />

uniapp小程序符号对勾解析

富文本编辑文本为:<p><span style="font-family: &quot;times new roman&quot;; font-size: 18px;">Ⅰ. Listen and judge. (听句子, 判断正"√"误"×"。)</span></p>

小程序解析效果如下:对勾被解析成了根号

钉钉中显示效果如下所示:对勾显示出来,也是根号,只是上面短一些

原因分析:

计算机中,符号对勾通常表示为 √,也可以称为根号或者平方根号

解决办法: (1)可以用 html 的符号显示:&check; 或者 &#10003;

(2)换对勾符号:✓ 这是勾 √ 这是根号

✓ 这是勾 ✗ 这是叉

最终解决效果:

(1)富文本内容:<p><span style="font-family: &quot;times new roman&quot;; font-size: 18px;">Ⅰ. Listen and judge. (听句子, 判断正"✓"误"✗"。)</span></p>

(2)小程序显示效果:

相关推荐
会豪6 小时前
Electron-Vite (一)快速构建桌面应用
前端
中微子6 小时前
React 执行阶段与渲染机制详解(基于 React 18+ 官方文档)
前端
唐某人丶6 小时前
教你如何用 JS 实现 Agent 系统(2)—— 开发 ReAct 版本的“深度搜索”
前端·人工智能·aigc
中微子6 小时前
深入剖析 useState产生的 setState的完整执行流程
前端
遂心_6 小时前
JavaScript 函数参数传递机制:一道经典面试题解析
前端·javascript
小徐_23337 小时前
uni-app vue3 也能使用 Echarts?Wot Starter 是这样做的!
前端·uni-app·echarts
RoyLin7 小时前
TypeScript设计模式:适配器模式
前端·后端·node.js
遂心_7 小时前
深入理解 React Hook:useEffect 完全指南
前端·javascript·react.js
Moonbit7 小时前
MoonBit 正式加入 WebAssembly Component Model 官方文档 !
前端·后端·编程语言
龙在天7 小时前
ts中的函数重载
前端