我正在尝试按照指示here将svg元素保存为png。它表示使用 saveSvgAsPng(document.getElementById(“diagram”),“diagram.png”); 其中“diagram”是svg元素的id。现在我无法找到id。
function guid() {
function _p8(s) {
var p = (Math.random().toString(16)+"000000000").substr(2,8);
return s ? "-" + p.substr(0,4) + "-" + p.substr(4,4) : p ;
}
return _p8() + _p8(true) + _p8(true) + _p8();
}
var svg = d3.select("#hiddenblock").append("svg")
.attr("svgid",guid())
.attr("width", width + margin.left + margin.right)
.attr("height", height+300+ margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
上面我试着给 var svg 一个id名称 svgid 然后在图的位置实现它,但是在浏览器控制台中说未捕获错误:需要HTMLElement或SVGElement;得到了。我尝试使用 hiddenblock ,但它不起作用。
浏览器输出的示例为here。看来这个元素有一个id,但saveSvgAsPng()函数似乎没有认出它。