<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<script src="resources/js/jquery-1.7.2.min.js"> </script>
...
...
<script>
...
...
function draw(screen, data) {
if (screen.document.getElementById("screen") == null){
screen.document.write('<div id="screen" style="width:' +
data.maxX + '; height:' + data.maxY + '; margin: auto;" >' +
'<canvas id="screenCanvas" width=' + data.maxX + ' height=' +
data.maxY + 'style="border:2px solid #000000;color:#000000;" > </canvas></div>');
}
var canvas = screen.document.getElementById('screenCanvas');
var context = canvas.getContext('2d');
var tileY = 0;
var tileX = 0;
var counter = 0;
var tileWidth = data.tileWidth;
var tileHeight = data.tileHeight;
for (var i=0;i<(data.maxX/data.tileWidth);i++){
for (var j=0;j<(data.maxY/data.tileHeight);j++){
var img = new Image();
img.onload = (function(img, tileX, tileY, tileWidth, tileHeight){
return function() {
context.drawImage(img,tileX, tileY, tileWidth, tileHeight);
}
})(img, tileX, tileY, tileWidth, tileHeight);
img.src = "http://myserver:8080/images/screen/tile/" +
data.tiles[counter].imageId;
tileX = tileX + parseInt(data.tileWidth);
counter ++;
}
tileY = tileY + parseInt(data.tileHeight);
tileX = 0;
}
}
...
...
</script>
</head>
<body>
...
...
...
...
</body>
</html>
새 창에서 캔버스를 그리려면 새 창을 열 때이 함수를 호출합니다. 이미지 배열이 포함되어 있습니다.캔버스의 이미지로드가 Internet Explorer 9 및 오페라에서 실패 함
문제 :
1 인터넷 익스플로러 9 : 캔버스를 그릴하지만 (내가 캔버스의 스타일에서 설정 한 경계가 나타납니다 이후)는 이미지를 그릴하지 않았다.
2 IE는 이미지를이 오류를 얻을려고
SCRIPT5022: Exception thrown and not caught
index.html, line 1 character 1
3 오페라 12을 나타납니다이 캔버스를 표시하지 않았다.
참고 :
1이 기능은 파이어 폭스, 구글 크롬, 사파리와 함께 잘 작동합니다.
2 인터넷 익스플로러는 호환성보기 (F12)가 아니고 Quirks 모드 (표준)가 아닌 것이 확실합니다.
어떤 도움이 필요합니까?
좋은 프레젠테이션. –