四更眠 2023-02-24 09:16 采纳率: 37.5%
浏览 31
已结题

echarts拓扑图的节点自定义,火狐浏览器兼容问题

echarts的拓扑图节点采用本地svg自定义
使用image://${process.env.BASE.URL}image/svg名字
谷歌浏览器可以正常显示,火狐浏览器不能显示

img

  • 写回答

2条回答 默认 最新

  • MarkHan_ 2023-02-24 09:56
    关注

    可能是因为火狐浏览器对于 SVG 图片的显示支持有些问题。你可以尝试以下几种方法解决该问题:

    1. 检查 SVG 图片的路径是否正确,是否在 BASE.URL 指定的路径下。
    2. 尝试使用完整的 URL 路径,例如 "http;//example.com/image/svg-name.svg"。看是否能够在火狐浏览器中正常显示。
    3. 采用其他方式加载 SVG 图片,例如使用 data URI 方式。你可以使用以下代码将 SVG 图片转为 data URI 格式:
    const svgUrl = `${process.env.BASE.URL}image/svg-name.svg`;
    const response = await fetch(svgUrl);
    const svgText = await response.text();
    const svgDataUri = `data:image/svg+xml;base64,${window.btoa(svgText)}`;
    

    然后在拓扑图节点的 symbol 属性中使用该 data URI:

    domain2node.symbol = `image://${svgDataUri}`;
    

    这样可以保证 SVG 图片能够在所有浏览器中正常显示。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月4日
  • 已采纳回答 2月24日
  • 修改了问题 2月24日
  • 创建了问题 2月24日