Javascript IE11安全错误中的Canvas toDataURL

Javascript IE11安全错误中的Canvas toDataURL,javascript,angularjs,html,canvas,html5-canvas,Javascript,Angularjs,Html,Canvas,Html5 Canvas,我正在尝试将svg转换为图像数据url 首先,我将svg转换为canvas,现在将canvas转换为dataurl,在IE11中给出了安全性错误 并尝试将canvas转换为msToBlob,这与IE11中的错误相同 IE11有什么解决办法吗 它在其他浏览器中工作尽管这个问题似乎很老,但我想给出一个答案,以便它可以帮助别人 首先使用Fabric.js将svg元素转换为画布。然后使用html2canvas将画布转换为图像。[Fabric是一个很好的工具,可以将任何类型的svg转换为画布,而不会出现任

我正在尝试将svg转换为图像数据url 首先,我将svg转换为canvas,现在将canvas转换为dataurl,在IE11中给出了安全性错误 并尝试将canvas转换为msToBlob,这与IE11中的错误相同 IE11有什么解决办法吗
它在其他浏览器中工作

尽管这个问题似乎很老,但我想给出一个答案,以便它可以帮助别人


首先使用Fabric.js将svg元素转换为画布。然后使用html2canvas将画布转换为图像。[Fabric是一个很好的工具,可以将任何类型的svg转换为画布,而不会出现任何问题。在canvg没有帮助的地方,Fabric会有所帮助。

是的,我在IE11中也面临同样的问题

经过这么多的搜索,我终于知道了,这真的是一个很好的简单的解决办法

canvg在他们的使用列表中也特别提到了这个场景

允许在客户端进行SVG->Canvas->png转换(通过toDataUrl)

var-imageURL='';
var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
canvg(c,imageURL{
renderCallback:
函数()
{
log(c.toDataURL('image/png');
}
});

no对于复杂的svg图像没有解决办法。不过他们在Edge中修复了它。对于简单的svg,您可以使用类似canvg的库,它可以将svg元素转换为画布图形。我也尝试过canvg,它在其他浏览器中工作,但在IE11访问中,从canvg.js在svg.ajax中使用
var imageURL = '<svg xmlns.....></svg>';
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");


    canvg(c, imageURL,{
     renderCallback:
        function()
        {
            console.log(c.toDataURL('image/png'));
        }
    });