-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 readyメソッドで更新するだけでは十分ではありませんでした

于 2011-08-17T15:29:02.580 に答える