Пытаясь реализовать excanvas, но получаю ошибки

Я пытаюсь реализовать excanvas, чтобы мой скрипт работал в IE, а также в браузерах, соответствующих стандартам. Я включаю 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 anОшибка неверного аргумента в строке 160 внутри файла excanvas.js.

Мой полный код здесь. Рабочая (во всем, кроме IE) страница находится здесь. Я использую версию excanvas здесь.

обновление решило 2-ю ошибку. мне пришлось добавить элемент перед вызовом функции init.

2 ответа

Решение

Из документов:

Если вы создали свой элемент canvas динамически, к нему не будет добавлен метод getContext. Чтобы заставить его работать, вам нужно вызвать initElement для объекта G_vmlCanvasManager.

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

Атрибут ширины холста должен быть числом.

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

не

<canvas width="164px" height="164px"></canvas>
Другие вопросы по тегам