Как можно обработать закрытие модалок HAPI.UI.show*?

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

И второй, несколько связанный вопрос: есть ли ограничение на частоту поднятия этих модалок? Потому что иногда они не открываются.
  • Вопрос задан
  • 197 просмотров
Решения вопроса 1
movl
@movl Автор вопроса
Опишу, в общем, как я поборол описанные мной же проблемы с API Одноклассников, вдруг поможет кому. Решение несколько сомнительные, но мне помогли повысить отзывчивость интерфейса и позволили правильно собирать статистику.

Крестик:
По клику на кнопку, вызывающей виралку, на window вещаю событие mousemove, вещать нужно по истечению некоторого таймаута, у меня это 500мс, потому что окно может открыться не сразу. Если окно даже и было открыто, а после чего сразу же закрыто, по клику на пустую область, например, событие все равно словится по истечению таймайту и его можно будет корректно обработать. С платежками в этом плане все немного сложнее, так как там не приходит событие о успешной транзакции, при клике на крестик, несмотря на то, что она была совершена, здесь пришлось проверять через сервер. Тут еще такой момент, пока тестировал, события ответа от модалки, приходили гарантировано раньше, чем событие движения мышки, что собственно и позволило сделать такой костыль.

Частота поднятия модалок:
При частых попытках поднять модалку, бывает что окно не всегда открывается, что отловить невозможно. Эмпирическим путем выявил, что максимально необходимый таймаут после последнего закрытия(!) API окна это 2500мс. В итоге пришел к решению, где все вызовы оборачиваются в очередь, и в случае клика на кнопку, дергающую API, пока таймаут не истек, на оставшееся время таймаута блокирую интерфейс, с просьбой немного подождать, после чего уже реально вызываю метод API.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
07 мая 2024, в 10:56
500 руб./за проект
07 мая 2024, в 10:52
15000 руб./за проект
07 мая 2024, в 10:51
15000 руб./за проект