Содержимое
Поиск
События JS
Бывает нужно отслеживать события авторизации на клиентской стороне. Для этого существует несколько событий.
Авторизация через кнопку
Используем событие BXmakerAuthIDUserAuthorized
Для примера подпишемся и отключим перезагрузку страницы после успешной авторизации.
Подключаем на странице библиотеку для работы с событиями.
\Bitrix\Main\UI\Extension::load("main.core");
Теперь сам скрипт
// так вызывается
//this.$Bitrix.eventEmitter.emit('BXmakerAuthIDUserAuthorized', { result: data, instance: this, });
BX.ready(function(){
BX.Event.EventEmitter.subscribe('BXmakerAuthIDUserAuthorized',(data) => {
console.log('Отключен редирект при авторизации через Кнопку через событие BXmakerAuthIDUserAuthorized');
// отключаем перезагрузку страницы после успешной авторизации
// перезагрузка срабатывает после этого события, поэтому так можно
data.instance.setIsEnabledReload(false);
});
});
Авторизация через виджет
Используем событие BXmakerAuthIDWidgetUserAuthorized
Для примера подпишемся и отключим перезагрузку страницы после успешной авторизации через виджет.
Подключаем на странице библиотеку для работы с событиями.
\Bitrix\Main\UI\Extension::load("main.core");
Теперь сам скрипт
// так вызывается
//this.$Bitrix.eventEmitter.emit('BXmakerAuthIDWidgetUserAuthorized', { result: data, instance: this, });
BX.ready(function(){
BX.Event.EventEmitter.subscribe('BXmakerAuthIDWidgetUserAuthorized',(data) => {
console.log('Отключен редирект при авторизации через Виджет через событие BXmakerAuthIDWidgetUserAuthorized');
// отключаем перезагрузку страницы после успешной авторизации
// перезагрузка срабатывает после этого события, поэтому так можно
data.instance.setIsEnabledReload(false);
});
})```