| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Наши скрипты > Про динамическую загрузку excanvas. |
| Автор: ksnk 4.6.2010, 18:10 | ||||||||
| Это не совсем "наши скрипты", но вроде не так уж и не к месту. В принципе, с использованием библиотеки http://code.google.com/p/explorercanvas/ можно решить, в достаточно широком смысле, проблемы с кроссброузерностью этого тега. Вставка библиотеки в страничку по документации рекомендуется делать вот так
получается достаточно прилично и в ненужные броузеры ненужные функции грузится не будут. Сложее, если загрузка этого файла требуется в динамике. К примеру после подгрузки ajax модуля оказывается интересным его подкрасить вручную. Вот в этом случае придется покувыркаться. для начала - динамическая загрузка скрипта excanvas с проверкой его загруженности.
вызов вставки кода делается примерно так, с использованием условной компиляции от IE :
К сожалению, инициализация библиотеки excanvas завязана на событие onreadystatechange. которое в AJAX приложении уже сработало и больше не вызывается, так что его нужно поддернуть вручную.
Тут используются те факты, что переменная G_vmlCanvasManager выставляется самим excanvas, а по изменениям в document.namespaces можно понять вызвался ли инициализатор или нет. Опять-же, динамически созданный элемент canvas нужно проинициализировать вручную, вызвав для него G_vmlCanvasManager.initElement. Идеология ожидания событияпростая, сидим в таймаутах по 100 ms и дожидаемся, пока не выставятся нужные признаки... Функции и техника, вероятно, могут быть полезны при использовании и других сторонних скриптов... |