-1

试图在 IE8 中制作画布效果。使用 excanvas.js 在 IE7 中没有问题,但在 IE8 中,它不起作用。这个效果被命名为 ECOTree,我已经做了所有的技巧和所有的修改。在 IE8 中运行此效果有什么建议吗?

下面是 ecotree.js 中 ie8 的修改代码:

// 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);
    }
}
4

2 回答 2

-1

您发布的任何内容看起来都不正确,您需要提供更多详细信息,但是我可以说您的很多代码都是多余的。

// 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。

于 2011-08-12T14:31:28.310 回答
-1

我通过强制事件更新画布元素解决了这个问题。我知道这是一种非正统的机制,但显然使用 jquery 就绪方法进行更新是不够的

于 2011-08-17T15:29:02.580 回答