2012-09-02 64 views
0

我有一個使用兩個畫布的Web應用程序。今天我注意到其中一個畫布在IE9中不能正確顯示。與正確顯示的不同,第二個畫布的大小參數不是由默認值設置的,而是使用在主應用程序啓動之前應加載的ImageElement的大小。GWT和畫布在IE 9

但是,儘管所有這些在Chrome和Firefox中都能正常工作,但畫布的樣式參數仍保持爲0px。

這是我用來設置畫布代碼:

tableImage = IMAGES.get(imageName);  
simulatorScreen = Canvas.createIfSupported(); 
simulatorScreen.setPixelSize(tableImage.getWidth(),tableImage.getHeight()); 
simulatorScreen.setCoordinateSpaceWidth(tableImage.getWidth()); 
simulatorScreen.setCoordinateSpaceHeight(tableImage.getHeight()); 

IMAGES是我充滿了ImageElements圖像加載器創建的地圖,關鍵是一個字符串。

回答

0

我發現問題是什麼。儘管Firefox和Chrome支持將圖像元素存儲在一個單獨的變量中,但IE似乎要求將元素顯式存儲在DOM中以訪問其維度屬性。它現在可以正常工作。

0

您可能希望通過檢查完整的屬性確保圖像已加載。如果是,則第二個選項是在setPixelSize函數上設置一個斷點,並驗證參數是否以適當的大小通過。您可以通過點擊菜單中的'F12'鍵或工具 - > F12開發工具來使用IE中的集成調試器。

+0

嗨,圖像總是正確加載,我構造應用程序的方式,它只在所有圖像加載正確時纔開始。我發現這僅僅是因爲IE需要拼寫嚴格而出現的錯誤。 – Corsair