Korzystanie z funkcji przesyłania wiadomości między ramkami

Na tej stronie opisano, jak wysyłać wiadomości po stronie klienta z dodatku działającego w elemencie iframe panelu bocznego do dodatku działającego w elemencie iframe głównego etapu. Wymiana wiadomości między ramkami odbywa się tylko po stronie klienta, więc dostarczanie wiadomości jest niemal natychmiastowe.

Aby wysłać wiadomość:

  • Aby przenieść element z panelu bocznego na scenę główną, użyj metody notifyMainStage().
    await sidePanelClient.notifyMainStage("YOUR_MESSAGE");
    await mainStageClient.notifySidePanel("YOUR_MESSAGE");

Długość payload musi być zgodna z określonym limitem rozmiaru.

Aby otrzymać wiadomość, dodatek musi subskrybować wywołanie zwrotne frameToFrameMessage. Poniższy przykładowy kod pokazuje, jak zasubskrybować wywołanie zwrotne frameToFrameMessage:

sidePanelClient.on('frameToFrameMessage', (arg: FrameToFrameMessage) => {
    // YOUR_CODE
});

Przykładowy dodatek „Animation” na GitHubie zawiera pełny przykład przesyłania wiadomości między ramkami. Po rozpoczęciu aktywności panel boczny powiadamia główną scenę za każdym razem, gdy użytkownik zmieni dane wejściowe. Scena główna subskrybuje też wywołanie zwrotne frameToFrameMessage, aby otrzymywać zaktualizowany stan.

Uwagi

  • Wiadomości między ramkami wysyłane przez danego uczestnika są widoczne tylko dla tego uczestnika. Aby wysyłać wiadomości lub stan do innych uczestników, dowiedz się, jak udostępniać stan dodatku.

  • Próba dostarczenia wiadomości jest podejmowana tylko raz. Aby otrzymywać wiadomości, panel odbiorczy musi być otwarty, a aplikacja musi zasubskrybować wywołanie zwrotne przed wysłaniem wiadomości.