На этой странице описано, как отправлять сообщения на стороне клиента из дополнения, запущенного в iframe боковой панели, в дополнение, запущенное в iframe основной рабочей области. Обмен сообщениями между фреймами происходит только на стороне клиента, поэтому доставка сообщений происходит практически мгновенно.
Чтобы отправить сообщение, сделайте следующее:
- Чтобы переместить объект с боковой панели на главную сцену, используйте метод
notifyMainStage().
await sidePanelClient.notifyMainStage("YOUR_MESSAGE");
- Чтобы переместить участника с главной сцены на боковую панель, используйте метод
notifySidePanel().
await mainStageClient.notifySidePanel("YOUR_MESSAGE");
Длина payload не должна превышать указанное ограничение.
Чтобы получить сообщение, дополнение должно подписаться на обратный вызов frameToFrameMessage. В приведенном ниже фрагменте кода показано, как подписаться на обратный вызов frameToFrameMessage:
sidePanelClient.on('frameToFrameMessage', (arg: FrameToFrameMessage) => {
// YOUR_CODE
});
Пример дополнения Animation на GitHub включает полный пример обмена сообщениями между фреймами. После запуска активности боковая панель уведомляет основную сцену о каждом изменении ввода пользователем.
Основная сцена также подписывается на обратный вызов frameToFrameMessage, чтобы получать обновленное состояние.
Примечания
Сообщения, отправленные участником, видны только ему. Чтобы отправлять сообщения или статус другим участникам, узнайте, как поделиться статусом дополнения.
Попытка доставки сообщения выполняется только один раз. Чтобы получать сообщения, панель должна быть открыта, а приложение должно подписаться на обратный вызов до отправки сообщения.