Я работаю над созданием базового веб-приложения, использующего холст, который динамически изменяет размер холста при изменении размера окна. Я получил статическую работу без каких-либо недостатков, но когда я создаю объект для его динамического создания, он выдает ошибку
в хроме ошибка:
Uncaught TypeError: Object [object Object] не имеет метода 'getContext'
и в Firefox это:
this.element.getContext не является функцией
Я искал в Интернете, и это кажется распространенной проблемой, но ни одно из упомянутых исправлений не имеет значения.
Код, о котором идет речь, выглядит следующим образом:
layer['background'] = new canvasLayer("body","background");
function canvasLayer(location,id){
$(location).append("<canvas id='"+id+"'>unsupported browser</canvas>");
this.element=$(id);
this.context = this.element.getContext("2d"); //this is the line that throws the error
this.width=$(window).width(); //change the canvas size
this.height=$(window).height();
$(id).width($(window).width()); //change the canvas tag size to maintain proper scale
$(id).height($(window).height());
}
Заранее спасибо.