Модуль должен подключать скрипт который должен поставить ловушку.
Коротко что-то вроде:
Скрипт тотальный и должен быть везде почти всегда, поэтому и подключается модулем. Раньше так не делал - скрипты были нужны только компонентом.
Так вот вопрос - как подключить правильно скрипт в модуле?
Если я просто делаю вот так:
пусть для простоты прямо в include.php, то таким образом он оказывается в самом верху и никакого BX разумеется еще нет. Да и подключается он получается на всех хитах, что глупо.
Можно конечно подписаться на какое-нибудь событие, скажем эпилога и добавлять этот скрипт по этому событию. Но это тоже выглядит костылем.
А как правильно-то?
Коротко что-то вроде:
Код |
---|
BX.ready(function(){ console.log('trap mymodule init'); BX.addCustomEvent('onPullEvent-mymodule', function(command,params) { console.log(command); if (command == 'mycommand') { console.log(params); if (params.openUrl != '') { window.open(params.openUrl, "_blank", ""); } } }); }); |
Так вот вопрос - как подключить правильно скрипт в модуле?
Если я просто делаю вот так:
Код |
---|
use Bitrix\Main\Page\Asset; Asset::getInstance()->addJs('/bitrix/js/atsm.mango/script.js'); |
Можно конечно подписаться на какое-нибудь событие, скажем эпилога и добавлять этот скрипт по этому событию. Но это тоже выглядит костылем.
А как правильно-то?