3

我正在尝试实现 excanvas,以便我的脚本可以在 IE 以及符合标准的浏览器中运行。我包括 jquery、excanvas 然后是我的脚本。我正在创建画布元素,如下所示:

data.canvas = $(document.createElement('canvas')).attr('width', data.fontwidth * 80 + 'px').attr('height', data.fontheight * 25 + 'px');
$this.append(data.canvas);

但是当我尝试时,我在 excanvas.js 中的第 160 行ctx = data.canvas[0].getContext('2d');遇到了Invalid argument` 错误。Object doesn't support this property or method' error on that line. Additionally I'm getting an

我的完整代码在这里。工作(在除 IE 之外的所有内容中)页面在这里。我正在使用的 excanvas 版本在这里

更新解决了第二个错误。我必须在调用 init 函数之前附加元素。

4

2 回答 2

3

文档

如果您已动态创建画布元素,则不会将 getContext 方法添加到元素中。要使其正常工作,您需要在 G_vmlCanvasManager 对象上调用 initElement。

var el = document.createElement('canvas');
G_vmlCanvasManager.initElement(el);
var ctx = el.getContext('2d');
于 2011-05-31T21:18:38.620 回答
1

画布宽度属性必须是数字。

<canvas width="164" height="164"></canvas>

不是

<canvas width="164px" height="164px"></canvas>
于 2015-06-26T18:21:08.543 回答