Всем день добрый! Написал userJS (пользовательский скрипт) для Б24 и столкнулся с особенностями работы композита, которые не могу побороть. Получается так, что при инициализации скрипта нужного мне элемента элемента в DOM изначально вообще не существует, при обращении к нему через document.querySelector() я получаю null. Допустим, хочу я получить элемент <div class="task-detail-list-title">Подзадачи</div> Скриншот:
Пробовал и с frameRequestStart и с frameCacheVars. В любом случае, получаю null. Вопрос к знатокам, на какое событие в таком случае мне повесить обработчик, чтобы выполнить код гарантированно тогда, когда Б24 уже элемент любым способом добавил в DOM-дерево? Стандартные события ДомКонтетЛоадед и лоад здесь не подошли также. (при загрузке страницы с ncc=1 такого не возникает, все работает, как и должно) Может быть, кто-то сталкивался с похожей особенностью, может быть, для Б24 есть какой-то другой способ?
Изначально написал вопрос в ветке CRM случайно, наверно, нужно адресовать сюда.
Александр Медведев написал: В корпоративном портале разве используется композитный кеш? По моему там всё динамическое)
Про композитный кэш написал потому, что при добавлении параметра ncc=1 такого не возникло, я предположил так. В принципе изначально у меня такого вопроса не стояло, но в один момент скрипт перестал работать, стал выяснять причину и пришел к тому, что скрипт инициализируется в момент, когда элемента еще нет. Стал копать далее в область того, обработчик на какое событие мне нужен, и пришел к этому.