Модуль должен подключать скрипт который должен поставить ловушку.
Коротко что-то вроде:
Скрипт тотальный и должен быть везде почти всегда, поэтому и подключается модулем. Раньше так не делал - скрипты были нужны только компонентом.
Так вот вопрос - как подключить правильно скрипт в модуле?
Если я просто делаю вот так:
пусть для простоты прямо в 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');
|
Можно конечно подписаться на какое-нибудь событие, скажем эпилога и добавлять этот скрипт по этому событию. Но это тоже выглядит костылем.
А как правильно-то?