IE и динамическая вставка canvas
Автор: Евгений Рыжков Дата публикации:
Проблема
Браузеры IE6-8 нативно не поддерживают HTML5 элемент canvas. Для его эмуляции можно использовать библиотеку excanas. При динамической вставке canvas в IE может возникнуть ошибка "неизвестный объект" при попытке получения контекста.
Решение
Для старых IE перед получением контекста вызвать функцию G_vmlCanvasManager.initElement([canvas element]). В коде это может выглядеть примерно так:
var canvas = document.createElement("canvas"); // создаем элемент canvas $("#parent").prepend(canvas); // вставляем canvas куда нужно. например, с помощью jQuery if($.browser.msie && $.browser.version<9) { G_vmlCanvasManager.initElement(canvas); } // костыль для IE var ctx = canvas.getContext("2d"); // инициализируем контекст
Материалы
- Динамическое добавление Canvas