Диспетчер баннеров
Библиотека приоритизирует и упорядочивает вплывающие информационные сообщения или рекламные баннеры. Доступно с версии ui 24.50.0
Общая задержка перед стартом библиотеки — две секунды.
Доступны следующие типы очередей:
- Низкая
BannerDispatcher.low
— элемент очереди отображается после всех элементов нормальной очереди с задержкой в 5 секунд. Будет показан только первый элемент этой очереди. Этот уровень предназначен для совсем не приоритетных и не важных баннеров - Нормальная
BannerDispatcher.normal
— элемент очереди отображается после всех элементов высокой очереди с задержкой в 1 секунду. Будет показан только первый элемент этой очереди - Высокая
BannerDispatcher.high
— элемент очереди отображается после всех элементов критичной очереди с задержкой в 1 секунду - Критическая
BannerDispatcher.critical
— элемент этой очереди отображается первым, независимо от того, в какой последовательности он пришел. Все критичные элементы отображаются с задержкой в 0 сек. Этот уровень предназначен для важных системных сообщений
Примеры
- Низкая очередь
BannerDispatcher.low
import { BannerDispatcher } from 'ui.banner-dispatcher'; import { Popup } from 'main.popup'; // Добавляем отображение попапа в низкую очередь. BannerDispatcher.low.toQueue((onDone) => { const popup = new Popup({}); popup.subscribe('onAfterClose', (event) => { // Внимание. Нужно вызывать callback onDone, когда баннер или попап отработал и был закрыт. // Иначе не будет вызван следующий элемент очереди. onDone(); }); popup.show(); });
- Нормальная очередь
BannerDispatcher.normal
import { BannerDispatcher } from 'ui.banner-dispatcher'; import { Popup } from 'main.popup'; // Добавляем отображение попапа в нормальную очередь. BannerDispatcher.toQueue(() => {}) // или другой вариант BannerDispatcher.normal.toQueue((onDone) => { const popup = new Popup({}); popup.subscribe('onAfterClose', (event) => { // Внимание. Нужно вызывать callback onDone, когда баннер или попап отработал и был закрыт. // Иначе не будет вызван следующий элемент очереди. }); popup.show(); });
- Высокая очередь
BannerDispatcher.high
import { BannerDispatcher } from 'ui.banner-dispatcher'; import { Popup } from 'main.popup'; // Добавляем отображение попапа в высокую очередь. BannerDispatcher.high.toQueue((onDone) => { const popup = new Popup({}); popup.subscribe('onAfterClose', (event) => { // Внимание. Нужно вызывать callback onDone, когда баннер или попап отработал и был закрыт. // Иначе не будет вызван следующий элемент очереди. onDone(); }); popup.show(); });
- Критическая очередь
BannerDispatcher.critical
import { BannerDispatcher } from 'ui.banner-dispatcher'; import { Popup } from 'main.popup'; // Добавляем отображение попапа в критичную очередь. BannerDispatcher.critical.toQueue((onDone) => { const popup = new Popup({}); popup.subscribe('onAfterClose', (event) => { // Внимание. Нужно вызывать callback onDone, когда баннер или попап отработал и был закрыт. // Иначе не будет вызван следующий элемент очереди. onDone(); }); popup.show(); });
- Отключение очередей на странице
import { BannerDispatcher } from 'ui.banner-dispatcher'; import { LaunchPriority, } from 'ui.auto-launch'; // Если вызвать на странице, будут вызваны только баннеры с приоритетом переданным в массиве. BannerDispatcher.only([ LaunchPriority.NORMAL, LaunchPriority.HIGH, LaunchPriority.CRITICAL, ]); // Если передать пустой массив, на странице не будет ничего отображено. BannerDispatcher.only([]);
© «Битрикс», 2001-2024, «1С-Битрикс», 2024