我正在尝试实现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);
但是当我尝试ctx = data.canvas[0].getContext('2d');
时,我在excanvas.js的第160行收到Object doesn't support this property or method' error on that line. Additionally I'm getting an
无效参数`错误。
我的完整代码是here。工作(除了IE之外的所有内容)页面是here。我正在使用的excanvas版本是here。
更新解决了第二个错误。我必须在调用init函数之前附加元素。
答案 0 :(得分:3)
来自docs:
如果您已创建画布 动态元素不会有 将getContext方法添加到 元件。为了让它工作,你需要 在上面调用initElement G_vmlCanvasManager对象。
var el = document.createElement('canvas');
G_vmlCanvasManager.initElement(el);
var ctx = el.getContext('2d');
答案 1 :(得分:1)
画布宽度属性必须是数字。
<canvas width="164" height="164"></canvas>
不是
<canvas width="164px" height="164px"></canvas>