может подскажете чё-то:
1) Есть компонент - модальное окно, которое при открытие прописывается в дом дереве, а при закрытии - удаляется - ngDialog либа
2) Есть либа x3dom - для рендеринга 3д объектов
3) Нужно встроить эту либу в это модальное окно для превью моделек
4) В сорсах этой либы есть самовызывающая функция, которая как раз и инициализирует вот это вот всё превью, т.е. она самая главная. В общих чертах в этой функции сканируется документ на наличие тега <x3d /> и, если есть таковой, то создается канва с уникальным номером, где будет происходить рендеринг и ещё много чего доплонительно.
5) Так вот, как вы уже успели заметить, функция самовызывающая, а значит вызывается сразу как будет загружен скрипт. По-этой причине в модалке не отображалось превью, т.к. элемент x3d создаётся динамически и та функция из либы его не видит.
6) Проблема решилась путем динамического создания и уничтожения скрипта при открытии и закрытии модалки соответсвенно.
?) Вопрос: как мне дождаться когда загрузится скрипт и выполнится та самовызывающаяся функция инициализации. Есть ли какой-то может обработчик? Спасибо за ответы.
скрипт грузите тегом?
я его создаю динамически через body.addChildNode('script')
вроде как есть другое решение https://github.com/x3dom/x3dom/issues/324
Обсуждают сегодня