某些特殊的场景下无法直接嵌入svg标签(如在wangeditor编辑器中无法直接插入svg标签,仅支持img),需要将svg转为img。
(1)获取已存在的svg元素
const svgDOM = document.querySelector('svg');
(2)获取SVG的XML代码作为字符串
const svgString = new XMLSerializer().serializeToString(svgDOM);
(3)使用btoa函数进行Base64编码
const base64String = btoa(svgString);
(4)创建Data URL
const dataUrl = 'data:image/svg+xml;base64,' + base64String;
(5)放入img标签的src
<img src=${dataUrl}/>