You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

vis-network节点信息内img标签设置宽高失效如何解决

问题原因

你遇到的是vis-network存储HTML字符串时的转义冲突+安全过滤双重问题:

  • vis.DataSet默认会对存储内容中的行内style属性做XSS安全过滤,直接添加的style宽高会被自动移除,导致图片标签结构异常。
  • 你在双引号包裹的JS字符串中多次用\"转义嵌套的双引号,多层转义容易出现解析错误,最终渲染时标签被破坏。

解决方法

方案1(最推荐):统一用CSS控制图片宽高

直接在你的样式代码中添加针对节点详情区图片的规则,不需要修改任何img标签:

#nodeContent img {
  width: 50%;
  height: auto;
  /* 可按需补充圆角、边距等其他样式 */
}

这个方案不需要修改节点数据里的HTML内容,后续调整样式也不用改JS代码,维护成本最低。

方案2:用原生img属性控制宽高

如果需要给不同图片设置不同宽高,不用style属性,改用原生width/height属性,同时用单引号包裹属性值避免转义冲突:

info3: "<b>Example of an image:</b> <br><img src='https://www.w3schools.com/images/w3schools_green.jpg' alt='W3Schools.com' width='200'> "

width属性值默认单位为像素,不需要加单位,也不会被vis的安全规则过滤。

方案3:用模板字符串避免转义问题

如果一定要使用行内style属性,用ES6模板字符串(反引号`)包裹整个HTML内容,不需要手动转义引号:

info3: `<b>Example of an image:</b> <br><img src="https://www.w3schools.com/images/w3schools_green.jpg" alt="W3Schools.com" style="width:50%"> `

模板字符串支持直接嵌套双引号/单引号,不会出现转义解析错误。


内容的提问来源于stack exchange,提问作者Codefun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:36:01