saveSvgAsPng - getBBox 不是函数
saveSvgAsPng - getBBox is not a function
我正在使用 exupero 的 saveSvgAsPng 库将 SVG 保存为 PNG 文件,但是在将它与 Angular-Nvd3 结合使用时我 运行 遇到了问题。
我收到一条错误消息:
Uncaught TypeError: el.getBBox is not a function
在我看来,该函数似乎无法 "grab" 我的 nvd3 元素中的 SVG 元素。
我的代码如下所示:
HTML:
<button onclick = "saveAsPng();" type="button" name="button"></button>
<div id = "chart1-canvas">
<nvd3 id = "chart1-svg" options="options1" data="data1"></nvd3>
</div>
Javascript:
function saveAsPng(){
saveSvgAsPng(document.getElementById("chart1-svg"), "diagram.png");
}
任何关于如何使这项工作正常工作的建议将不胜感激。
我没有使用过那个 saveSvgAsPng 库,但我想它希望您向它传递一个指向 SVG 元素的指针,而不是它周围的 AngularJS 元素。
尝试以下操作:
function saveAsPng() {
var svg = document.getElementById("chart1-svg").getElementsByTagName("svg")[0];
saveSvgAsPng(svg, "diagram.png");
}
我正在使用 exupero 的 saveSvgAsPng 库将 SVG 保存为 PNG 文件,但是在将它与 Angular-Nvd3 结合使用时我 运行 遇到了问题。
我收到一条错误消息:
Uncaught TypeError: el.getBBox is not a function
在我看来,该函数似乎无法 "grab" 我的 nvd3 元素中的 SVG 元素。
我的代码如下所示:
HTML:
<button onclick = "saveAsPng();" type="button" name="button"></button>
<div id = "chart1-canvas">
<nvd3 id = "chart1-svg" options="options1" data="data1"></nvd3>
</div>
Javascript:
function saveAsPng(){
saveSvgAsPng(document.getElementById("chart1-svg"), "diagram.png");
}
任何关于如何使这项工作正常工作的建议将不胜感激。
我没有使用过那个 saveSvgAsPng 库,但我想它希望您向它传递一个指向 SVG 元素的指针,而不是它周围的 AngularJS 元素。
尝试以下操作:
function saveAsPng() {
var svg = document.getElementById("chart1-svg").getElementsByTagName("svg")[0];
saveSvgAsPng(svg, "diagram.png");
}