尝试在IE8中使画布效果起作用。使用excanvas.js在IE7中没有问题,但在IE8中,它不起作用。效果命名为ECOTree,我已经将所有技巧和所有修改都包括在内here。有任何建议在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);
}
}
答案 0 :(得分:-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。
答案 1 :(得分:-1)
我通过强制事件更新canvas元素来解决了这个问题。我知道这是一种非正统的机制,但显然用jquery ready方法更新是不够的