2011-08-12 80 views
-1

嘗試在IE8中使畫布效果起作用。使用excanvas.js在IE7中沒有問題,但在IE8中,它不起作用。效果被命名爲ECOTree,並且我做了所有的技巧和所有修改,包括here。任何建議在IE8中運行這種效果?Excanvas.js在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); 
    } 
} 
+0

顯示代碼。 Excanvas在我的IE8中工作正常 – Andrew

+0

可能的重複[可能獲得Excanvas在IE 8中工作?](http://stackoverflow.com/questions/941170/possible-to-get-excanvas-to-work-in- ie-8) – Prestaul

回答

-1

我已經通過強制事件更新畫布元素來解決問題。我知道這是一個非正統的機制,但顯然用jquery ready方法更新是不夠的

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

+0

是的,你是對的,有很多冗餘的代碼,你的假設被接受我只是在瀏覽器老時包含excanvas'<! - [if ie IE 8]> ' – Pymoo

+0

仍然沒有工作,任何建議,我做錯了什麼或一些新的訣竅知道? – Pymoo

+1

@Pymoo如果你自己解決了它,然後分享你的答案並接受它。你永遠不知道別人是否會遇到同樣的問題。 :) – Andrew