我正在尝试将SVG内容下载为PNG文件。上面的代码在Chrome和Firefox浏览器中运行良好。不在IE上工作

时间:2016-03-01 09:56:07

标签: javascript svg

我正在尝试将SVG内容下载为PNG文件。上面的代码在Chrome和Firefox浏览器中运行良好。不在IE上工作。浏览器控制台中没有错误。

var svg = document.querySelector( "svg" );
var svgData = new XMLSerializer().serializeToString( svg );
var canvas = document.createElement( "canvas" );

var svgSize = svg.getBoundingClientRect();
canvas.width = svgSize.width;
canvas.height = svgSize.height;
var ctx = canvas.getContext( "2d" );
var img = document.createElement( "img" );
img.setAttribute( "src", "data:image/svg+xml;base64," + btoa( svgData ) );


img.onload = function() {
    ctx.drawImage( img, 0, 0 );

    setTimeout(function(){
        var a = document.createElement("a");
        a.download = "networkmap.png";
        a.href = canvas.toDataURL("image/png");console.log(a.href);
        document.body.appendChild(a);
        a.click();
     }, 500);
};

0 个答案:

没有答案