저는 EaselJS를 사용하고 있으며 ExplorerCanvas와의 하위 호환성을 허용하려고합니다. EaselJS 및 ExplorerCanvas와 IE8 호환성 얻기
이
은 ( here 참조) 다음 코드를 사용 할 수 있어야한다 :이 기능에 경고를 넣어 경우, 그러나createjs.createCanvas = function() { ... return canvas implementation here ... }
하고 코드를 실행 기능은 실행되지 않습니다.
어떻게 작동하나요?
편집 :
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<script src='/Scripts/jquery-1.7.1.js'></script>
<script src="/Scripts/excanvas/excanvas.compiled.js"></script>
<script src="/Scripts/easeljs/lib/easeljs-0.5.0.min.js"></script>
<script src='/Scripts/core/jquery.mousewheel.js'></script>
<style>
canvas
{
border: 1px solid #ccc;
}
</style>
<script type='text/javascript'>
$(document).ready(function() {
// Variables
var img;
var stage;
var bmp;
// Bindings
$('#load').click(function() { initialize() }); // DELETE
// Functions
function initialize() {
img = new Image();
img.onload = imageLoadedEvent;
img.src = '/Scripts/viewer/June.jpg';
}
function imageLoadedEvent() {
var canvasElement = generateContext('testCanvas', 400, 400);
stage = new createjs.Stage('testCanvas');
bmp = new createjs.Bitmap(img);
stage.autoClear = true;
stage.addChild(bmp);
stage.update();
}
function generateContext(canvasID, width, height) {
var canvasElement = document.createElement('canvas');
if (typeof (G_vmlCanvasManager) != 'undefined')
canvasElement = G_vmlCanvasManager.initElement(canvasElement);
canvasElement.setAttribute("width", width);
canvasElement.setAttribute("height", height);
canvasElement.setAttribute("id", canvasID);
document.getElementById('viewer').appendChild(canvasElement);
}
});
</script>
</head>
<body>
<div id='viewer'>
<button id='load'>load</button>
</div>
</body>
</html>
이 예는 기본 캔버스 요소로 크롬과 IE9에서 실행이 만들어지고 사용됩니다 여기에
내가 사용하고있는 코드의 간단한 예입니다. 그러나 IE8에서는 실패합니다.
내가 그러나 내가 easeljs이 컨텍스트를 연결하는 방법에 부착하고, excanvas를 사용하여 컨텍스트를 얻을 수 있어요. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까? –
내 대답을 업데이트했습니다! –