Пытаясь реализовать 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>