Excanvas.js не работает для меня в IE8 - PullRequest
0 голосов
/ 12 августа 2011

Попытка заставить эффект холста работать в IE8. С excanvas.js нет проблем в IE7, но в IE8 это не работает. Эффект называется ECOTree, и я сделал все трюки и все модификации, включенные здесь . Любые предложения для запуска этого эффекта в IE8?

Вот модифицированный код для ie8 в ecotree.js:

// Make the <canvas> element.
var canvas = document.createElement('canvas');
jQuery(canvas).attr('width', 2000).attr('height', 7000).attr('id', 'ECOTreecanvas').appendTo(this.treeContainer);
if ((jQuery.browser.msie) && (parseInt(jQuery.browser.version, 10)<=8)){
    // For Internet Explorer, have excanvas initialize the canvas method
    // Modification, the major versions greater than 8 don't need excanvas.
    canvas.setAttribute('width', '2000');
    canvas.setAttribute('height', '7000');
    canvas.setAttribute('id', 'ECOTreecanvas');
    this.treeContainer.append(canvas);
    if (typeof G_vmlCanvasManager != 'undefined') {
        canvas = G_vmlCanvasManager.initElement(canvas);
    }
}

Ответы [ 2 ]

0 голосов
/ 17 августа 2011

Я решил проблему, заставив событие обновить элемент canvas.Я знаю, что это неортодоксальный механизм, но, видимо, обновления с помощью метода jquery ready было недостаточно

0 голосов
/ 12 августа 2011

Ничто из того, что вы опубликовали, не выглядит неправильно, вам нужно будет предоставить более подробную информацию, однако я могу сказать, что большая часть вашего кода является избыточной.

// Make the <canvas> element.
var canvas = $('<canvas id="ECOTreecanvas" width="2000" height="7000"></canvas>').appendTo($(this.treeContainer));
if (typeof G_vmlCanvasManager != 'undefined') {
    G_vmlCanvasManager.initElement(canvas);
}

Я предполагаю, что вы включаете excanvas только тогда, когда браузер устарел.

...