Я разрабатываю WebPart в SharePoint, и мне нужно что-то нарисовать в моем WebPart, используя excanvas.js. Но иногда это ничего не показывает. Сообщение об ошибке:
Object doesn't support property or method 'getContext'
При отладке,здесь он ломается:
var ctxBg = document.getElementById(backgroundId).getContext("2d");
"backgroundId" - это идентификатор одного элемента canvas.Эта ошибка происходит не каждый раз, просто иногда, поэтому я думаю, что если моя js-функция выполняется до загрузки excanvas.js. Я регистрирую excanvas.js с кодом:
this.Page.ClientScript.RegisterClientScriptInclude("ExCanvasJs", "wpresources/MyWebPart/js/excanvas.js");
Так какмоя функция выполняется после загрузки excanvas.js? Или я ошибаюсь в этой проблеме? Не могли бы вы дать мне совет?
моя функция js:
function DrawMeter(meter, contextCollection) {
var backgroundId = meter.meterbackground;
var pointerId = meter.meterpointer;
var containerId = meter.metercontainer;
if (contextCollection != null && contextCollection.length > 0) {
for (var i = 0; i < contextCollection.length; i++) {
DrawSingleMeter(backgroundId + "_" + i, pointerId + "_" + i, containerId + "_" + i, contextCollection[i]);
}
}
function DrawSingleMeter(backgroundId, pointerId, containerId, context) {
var ctxBg = document.getElementById(backgroundId).getContext("2d");
var ctxPointer = document.getElementById(pointerId).getContext("2d");
drawing...
}