2011-05-31 85 views
3

我試圖實施excanvas,以便我的腳本在IE以及符合標準的瀏覽器中工作。我包括jquery,excanvas,然後是我的腳本。我創建的canvas元素,像這樣:試圖實施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無效argument`錯誤。

我的完整代碼是here。工作(除IE外的所有內容)頁面爲here。我使用的excanvas版本是here

更新解決了第二個錯誤。我必須在調用init函數之前追加元素。

回答

3

docs

如果您已經創建了畫布 元素動態不會有 的getContext方法添加到 元素。爲了讓它工作,你需要 調用 G_vmlCanvasManager對象的initElement。

var el = document.createElement('canvas'); 
G_vmlCanvasManager.initElement(el); 
var ctx = el.getContext('2d'); 
+1

這解決了第一個錯誤,而不是第二。我仍然在excanvas.js腳本的第160行出現'Invalid argument'錯誤。 – Justin808 2011-05-31 22:23:49

1

畫布寬度屬性必須是數字。

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

<canvas width="164px" height="164px"></canvas> 
相關問題