Содержимое

События 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', (event) => {
                console.log('Отключен редирект при авторизации через Кнопку через событие BXmakerAuthIDUserAuthorized');
                // отклчюаем перезагрузку страницы после успешной аторизации
                // перезагрузка срабатывает после этого события, поэтмоу так можно
                event.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', (event) => {
                console.log('Отключен редирект при авторизации чрезе Виджет через событие BXmakerAuthIDWidgetUserAuthorized');
                // отклчюаем перезагрузку страницы после успешной аторизации
                // перезагрузка срабатывает после этого события, поэтмоу так можно
                event.data.instance.setIsEnabledReload(false);
            });
        })