在IE中将svg图像绘制到画布上时意外调用方法或属性访问

时间:2014-08-09 01:29:52

标签: internet-explorer

我试图在画布上绘制一个svg图像,如下所示:

var canvas = document.createElement("canvas");
canvas.width=w;
canvas.height=h;
var ctx = canvas.getContext("2d");
var img = new Image();
img.src = src;
img.onload = function(e)
{
    ctx.drawImage(img, 0, 0, w, h);
}

它在chrome上工作正常,但在IE(撰写本文时为v11)中,它会间歇性地发出Unexpected call to method or property access错误。

enter image description here

我有一个示例jsfiddle here。请注意,您可能需要多次运行小提琴,但最终会遇到错误。

问题是什么?我该如何解决?

1 个答案:

答案 0 :(得分:5)

我们遇到了同样的问题。最后,用setTimeout()帮助将kickImage踢出线程。问题是什么,我没有答案,最合乎逻辑的似乎是,当加载事件触发时,有时img并没有真正准备好。去图。