3

スクリプトがIEおよび標準に準拠したブラウザーで機能するようにexcanvasを実装しようとしています。jquery、excanvas、スクリプトを含めています。私は次のようにcanvas要素を作成しています:

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');と、Object doesn't support this property or method' error on that line. Additionally I'm getting anexcanvas.js内の160行目にInvalidargument`エラーが表示されます。

私の完全なコードはここにあります。作業中の(IEを除くすべての)ページはここにあります。私が使用しているexcanvasのバージョンはこちらです。

updateは2番目のエラーを解決しました。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 に答える