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

echarts拓扑图的节点自定义,火狐浏览器兼容问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- MarkHan_ 2023-02-24 09:56关注
可能是因为火狐浏览器对于 SVG 图片的显示支持有些问题。你可以尝试以下几种方法解决该问题:
- 检查 SVG 图片的路径是否正确,是否在 BASE.URL 指定的路径下。
- 尝试使用完整的 URL 路径,例如 "http;//example.com/image/svg-name.svg"。看是否能够在火狐浏览器中正常显示。
- 采用其他方式加载 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 图片能够在所有浏览器中正常显示。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录