Получение совместимости IE8 с EaselJS и ExplorerCanvas
Я использую EaselJS и хочу обеспечить обратную совместимость с ExplorerCanvas.
Это должно быть возможно с помощью следующего кода (см.Вот):
createjs.createCanvas = function () { ... return canvas implementation here ... }
Однако, если я добавлю предупреждение в эту функцию и запущу код, функция никогда не будет запущена.
Как мне заставить это работать?
Редактировать:
Вот упрощенный пример кода, который я использую:
canvas
{
border: 1px solid #ccc;
}
$(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);
}
});
load
Этот пример будет работать в Chrome и IE9, так как создается и используется собственный элемент canvas. Однако в IE8 это не удается.