svg - 如何使用这个 UTF-8 SVG 字符串来获取
问题描述
我正在使用domtoimage尝试将我的 html div 转换为<svg>
. domtoimage 中的函数返回字符串:
data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="288" height="1920"> .......... </svg>
我可以将此字符串设置为src
的<img>
,但我正在使用的其他插件(jsPDF)不能使用它,它需要<svg>
.
我想我可以去掉开头部分,只将svg
标签添加到文档中,但这会导致一个非常奇怪的 svg,到处都是“%0A”,我无法从字符串中删除它。
解决方案
如果这是您的代码;问题是:
您正在将文本填充到仅接受 DOM 节点的append
函数中。
仅.innerHTML
将字符串转换为 HTML
如果你给append
函数一个字符串..它将显示为一个字符串。
https://developer.mozilla.org/en-US/docs/Web/API/Element/append
请注意文档:DOMString 对象作为等效的 Text 节点插入。
解决方案是创建一个 SVG DOM 元素
let svgElem = document.createElementNS("http://www.w3.org/2000/svg", "svg");
svgElem.innerHTML = mySvg;
$('body').append(svgElem);
推荐阅读
- keras - 为什么在这种情况下 sigmoid 函数的性能优于 tanh 和 softmax?
- python - 在 seaborn 热图中突出显示一行
- r - 有没有办法阻止 RStudio 重置我本地机器上的内存限制?
- swift - 将字典分组为字典数组
- react-native - 使用分页的 FlatList,如何更改可见页面上的事件?
- javascript - 谁能解释这个循环(JavaScript)
- webrtc - OpenTok/TokBox:有没有办法限制会话中允许的已发布流的数量?
- wpf - 如何使用数据绑定属性制作可重用的 WPF 自定义控件?
- css - 为什么在等式中使用 0 时 css-calc() 不起作用?
- c# - 为什么我的代码说我正在尝试将十进制转换为双精度,我该如何解决?