2010-12-21 34 views
1

現在我無法獲得簡單的拉斐爾圖形在extJS面板中顯示。拉斐爾圖形沒有在IE8中顯示

afterRender: function(){ 
     var size = Math.min(this.getHeight(), this.getWidth()); 
     this.innerEl = this.el.createChild({ 
      cls : 'ext-ux-clock-inner' 
     }); 
     this.canvas = Raphael(this.innerEl.dom, size, size); 
     var circle = this.canvas.text(50, 40, 'test').attr({ 
       font : '14px Helvetica, Arial', 
       stroke : "none", 
       fill : '#fff' 
      }); 
     TimelineWindowPanel.superclass.afterRender.apply(this,arguments); 
    } 

在Firefox和Chrome中文本顯示正常,但我似乎無法讓這個文本顯示在IE8中。我試過使用未壓縮的版本以及縮小版本,但沒有運氣。有人知道爲什麼拉斐爾不能與IE8一起使用extJS?

編輯: 如果我改變IE8到兼容模式下,它顯示了拉斐爾圖形

回答

1

我發現了一個變通的IE8。在屏幕上出現ExtJS窗口之前,似乎IE8試圖繪製到畫布上。我猜測發生了什麼是IE8試圖在畫布上繪製並失敗並且不嘗試重繪。所以拉斐爾圖片從不出現在畫布上。我能夠通過拖延.3秒使用javascript函數來解決此問題。setInterval()

+1

@Albinnoswordfish setInterval將繼續調用您的代碼。你可能已經知道了。如果您只想調用一次,請使用setTimeout。 – 2011-03-01 21:21:20