Excanvas.js у меня не работает в IE8

Попытка заставить эффект холста работать в 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);
    }
}

person Pymoo    schedule 12.08.2011    source источник
comment
Показать код. Excanvas отлично работает для меня в IE8   -  person Andrew    schedule 12.08.2011


Ответы (2)


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

// 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 только тогда, когда браузер устарел.

person Andrew    schedule 12.08.2011
comment
Да, вы правы, много лишнего кода, и ваше предположение принимается, я просто включаю эксканвы, когда браузер старый <!--[if lte IE 8]> <script language="javascript" type="text/javascript" src="js/excanvas.min.js"></script> <script type="text/javascript" src="js/jquery.jqcanvas.js">//</script> <![endif]--> - person Pymoo; 12.08.2011
comment
Все еще не работает, какие-либо предложения, что-то я делаю неправильно или какой-то новый известный трюк? - person Pymoo; 15.08.2011
comment
@Pymoo Если вы решили это самостоятельно, поделитесь своим решением в качестве ответа и примите его. Вы никогда не знаете, может ли кто-то еще столкнуться с такой же проблемой. :) - person Andrew; 17.08.2011

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

person Pymoo    schedule 17.08.2011