2012-09-02 3 views
0

두 개의 캔버스를 사용하는 웹 응용 프로그램이 있습니다. 오늘 나는 그 캔버스 중 하나가 IE9에서 제대로 표시되지 않을 것임을 알았습니다. 올바르게 표시되는 것과 달리 두 번째 캔버스 크기 매개 변수는 기본값으로 설정되지 않고 주 응용 프로그램이 시작되기 전에로드해야하는 ImageElement의 크기를 사용합니다.IE 9의 GWT 및 Canvas

그러나 Chrome과 Firefox에서는이 모든 기능이 제대로 작동하지만 캔바스의 스타일 매개 변수는 0px로 유지됩니다.

내가 캔버스 설정에 사용하는 코드입니다 :

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

이미지가 ImageElements 가득 내 이미지 로더에 의해 생성 된지도이며, 키는 문자열입니다.

답변

0

문제점이 무엇인지 알아 냈습니다. Firefox와 Chrome은 이미지 요소의 저장을 별도의 변수로 지원했지만 IE는 요소를 DOM 내부에 명시 적으로 저장해야 차원 특성에 액세스 할 수 있습니다. 이제 제대로 작동합니다.

0

속성을 확인하여 이미 이미지가로드되어 있는지 확인하는 것이 좋습니다. 그럴 경우 두 번째 옵션은 setPixelSize 함수에 중단 점을 설정하고 매개 변수가 적절한 크기로 전달되는지 확인하는 것입니다. IE에서 'F12'키를 누르거나 메뉴에서 Tools -> F12 Developer Tools를 눌러 통합 디버거를 사용할 수 있습니다.

+0

안녕하세요. 이미지가 항상 올바르게로드됩니다. 모든 이미지가 올바르게로드되었을 때만 시작되는 방식으로 애플리케이션을 구성했습니다. IE가 요구하는 철자법 때문에 발생하는 버그라는 것을 알게되었습니다. – Corsair