Как проверить подключен ли скрипт в шаблоне компонента Bitrix?
Приветствую.
С толкнулся со следующей ситуацией.
Создал компонент, в нем подключаются скрипты которые лежат в /local/components/name-component/js/name.js (не суть)
В шаблоне компонента подключается с помощью $this->addExternalJs
Проблема следующая.
Если компонент нужно использовать несколько раз на одной странице, то скрипты заданные через $this->addExternalJs
повторно подключаются. Можно ли кроме как передачи параметра в компонент, подключать с проверкой, если скрипт подключен, то больше не подключаем?
В этих случаях нужно использовать CJSCore::RegisterExt. Оно помимо проверки на "уже подключен" еще и зависимости может подтягивать. Полезно, когда для вашего скрипта нужна внешняя библиотека (jquery и т.п.) или имеется зависимость от собственных библиотек. Бонусом еще и стили подтягивать умеет.