我有一个d3.js可视化,并希望在客户端上将创建的SVG输出为PNG。过去我通过将SVG绘制到画布然后将画布转换为blob来实现此目的。这在FF中正常工作,但导致Chrome崩溃。崩溃中的console.log(image)
和console.log(this)
都会在Chrome控制台中打印空白行,ctx.drawImage(image, 0, 0)
似乎导致崩溃(“完成绘图”未打印)。但是,如果我在ctx.drawImage(image, 0, 0)
之前或之前设置了一个断点,那么一切正常,没有任何事情会崩溃。这在某种程度上是Chrome中的竞争条件,还是无法访问load事件中的图像变量?
修改1:添加了一个完整的小提琴。 svg / xml字符串是硬编码的,因为生成svg的代码取决于安全服务器。 Chrome 56.0.2924.87(64位)