需求如下:
import { elementToSVG } from 'dom-to-svg';
let dom = document.querySelector(`#pane-${this.currentTabIndex}`);
const svgDocument = elementToSVG(dom);
const svgString = new XMLSerializer().serializeToString(svgDocument);
common.download(this.createObjectUrl([svgString], 'image/svg'), `${item.title}.svg`);
download方法如下:
download: function (href, name) {
let a = document.createElement('a');
a.download = name;
a.href = href;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
},
createObjectUrl(content, type) {
return window.URL.createObjectURL(new Blob(content, { type: type }));
},
URL.createObjectURL()
静态方法会创建一个 DOMString,其中包含一个表示参数中给出的对象的 URL。这个 URL 的生命周期和创建它的窗口中的 document 绑定。这个新的 URL 对象表示指定的 File 对象或 Blob 对象。
语法
objectURL = URL.createObjectURL(object);
object
用于创建 URL 的 File 对象、Blob 对象或者 MediaSource 对象。
简单来讲这个API是将一堆字符串变成文件或者Blob对象的