Передача данных между слайдерами
Между слайдерами можно передавать произвольные данные. Для отправки данных используются методы postMessage, postMessageAll и postMessageTop. Для приема сообщений - событие onMessage.
Событие SidePanel.Slider:onMessage
Вызывается, когда в слайдер приходит сообщение из другого слайдера. В первый аргумент обработчика приходит объект события типа BX.SidePanel.MessageEvent
Методы отправки данных
Метод | Описание | С версии |
---|---|---|
BX.SidePanel.Instance.postMessage( source, eventId, data ) | Отсылает сообщение (данные) в предыдущий слайдер и родительскую страницу. | |
BX.SidePanel.Instance.postMessageAll( source, eventId, data ) | Отсылает сообщение (данные) во все слайдеры и в родительскую страницу. | |
BX.SidePanel.Instance.postMessageTop( source, eventId, data ) | Отсылает сообщение (данные) только в родительскую страницу. |
Параметры
Параметры | Описание | Тип |
---|---|---|
source | Идентификатор слайдера-отправителя данных. Ссылка на слайдер (экземпляр класса BX.SidePanel.Slider) или идентификатор слайдера. В случае iframe'а может быть ссылка на окно (window). | string|window|BX.SidePanel.Slider |
eventId | Идентификатор события. Используется для того, чтобы отличить события разных слайдеров в обработчике onMessage. | string |
data | Данные для передачи в другой слайдер. | object |
Примеры
Пример передачи данных из iframe'а в предыдущий слайдер.
BX.SidePanel.Instance.postMessage(window, "my-event-id", { title: "1234" });
Пример получения данных.
BX.SidePanel.Instance.open("/mypage.php", { events: { onMessage: function(event) { console.log( "onMessage", "sender", event.getSender().getUrl(), "slider", event.getSlider().getUrl(), "data", event.getData() ); } } });
Класс
Класс | Описание | С версии |
---|---|---|
Класс BX.SidePanel.MessageEvent | Класс представляет сообщение, которое слайдеры посылают друг другу. |
Сазонов Станислав
|
||||
Для того, чтобы добавить свой текст, фон и цвет к кнопки закрытия слайдера
в вызове слайдера укажите
| ||||
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.