Настройка javascript событий онлайн чата

Для настройки каких-либо параметров на вашем сайте, зависящих от состояния онлайн чата, например, если вы используете собственную кнопку и нужно изменять статус, в зависимости от наличия оператора в сети, вы можете использовать собственные обработчики событий.

Обработчики событий

Ключ Событие Входные параметры
show_chat Открытие окна чата -
hide_chat Закрытие окна чата -
set_status Изменение статуса on | off
show_invitation Показ сообщения приглашения текст_приглашения

В метод registerUserCallbacks нужно передать объект, содержащий пары значений, где ключ это ключ события, а значение - имя обработчика. Регистрация обработчиков производится один раз.

Пример 1

SANFBookConsult.registerUserCallbacks (
{
  'hide_chat' : handlerHideChat,
  'show_invitation' : handlerShowInvitation
});

В данном примере, регистрируются два обработчика: при закрытии окна чата будет вызываться пользовательская функция handlerHideChat, а когда нужно будет показать сообщение приглашения к диалогу, будет вызвана handlerShowInvitation. Во втором случае, показ приглашения к диалогу должен быть настроен и включён в Панели оператора.

Пример 2

SANFBookConsult.registerUserCallbacks (
{
  'set_status' : userFunction
});

Во втором примере, регистрируется обработчик userFunction, для события изменения статуса оператора. Функция-обработчик должна принимать один параметр - статус. Значения статуса: on или off.

Регистрация обработчиков событий

При инициализации чата, скрипт обращается к глобальной переменной SANuser_callbacks, объекта window. Если она объявлена, то будет использована для вызова callback функций.
Тут два варианта. Нужно либо дождаться загрузки и инициализации чата, чтобы зарегистрировать обработчики, как показано на примерах выше, либо объявить переменную window.SANuser_callbacks до загрузки чата, и присвоить ей тот же объект, содержащий пары ключ - значение.

Для регистрации обработчиков событий, вы можете использовать данный пример.

Пример 3

var callbacks = {
    'show_chat' : foo1,
    'hide_chat' : foo2
};
if(typeof(SANFBookConsult) === 'undefined') {
    window.SANuser_callbacks = callbacks;
} else {
    SANFBookConsult.registerUserCallbacks(callbacks);
}
Примечание.

Использование javascript событий, доступно на тарифном плане Полный.