2012-09-02 62 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