Содержимое

События 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);
            });
        })```