
Send PostMessage Action
Send PostMessageアクションは、Labvancedの実験から親ウェブページ、カスタムアプリケーション、または埋め込みフレームなどの外部ターゲットにメッセージを送信するためにブラウザのpostMessage APIを使用します。
Table of Contents
Overview
このアクションは、アクション選択メニューのAPI Actionsに一覧表示されています。

Common use cases
- 参加者が特定のポイントに達したり、タスクを完了したときに親アプリケーション(例えば、LMSや組織のポータル)に通知します。
- スコア、応答、または条件ラベルなどの変数値をリアルタイムで外部システムに渡します。
The Two-Sided Setup
Labvancedと外部ページ(iFrameや親アプリケーションなど)間でpostMessageを使用することは二者間プロセスです。Labvancedは一方の側を処理します。このアクションはメッセージを送信します。もう一方は、外部ページであり、それを受信するようにプログラムされている必要があります。
postMessage APIは標準のブラウザ機能です。外部ページは、Labvancedからのメッセージを受信するためのwindow.addEventListener('message', handler)リスナーを必要とします。そのリスナーはドメインでフィルタリングし、メッセージの発信元がLabvancedであることを確認する必要があります。そうすることで、信頼できるソースからのメッセージのみに反応します。あなたやあなたの開発者がそのコードを書く必要があります。必要に応じて、AIコーディングツールが迅速に生成するのに役立ちます。
How it works
このアクションが発動すると、LabvancedはターゲットウィンドウにpostMessageを送信します。メッセージは、Destination Domainでリスニングしている任意のページに配信されます。
メッセージペイロードにはValue to sendが含まれています。Keyが設定されている場合、ペイロードに含まれ、受信側でメッセージの種類を識別し適切に処理できるようにします。
外部ページは、メッセージの処理を担当します。そのリスナーはアクションを実行する前にメッセージの発信元を確認するべきです。Labvancedから送信されたメッセージのみに反応することを确保します。
Send PostMessageを選択すると、次の設定が表示されます。

Action Options
| Menu Item | Send PostMessage Action Options |
|---|---|
Destination Domain | メッセージを受信すべきターゲットオリジンを指定します。デフォルト値は*で、任意のオリジンに送信します。目的地が知られている場合は、*をフルターゲットURL(例:https://yoursite.com)に置き換えます。セキュリティのために正確なドメインを指定することをお勧めします。 |
Key | 送信メッセージに識別子キーを添付します。これにより、メッセージペイロードがKey: valueのように構造化され、受信側が異なるタイプのメッセージを区別できます。キーが必要ない場合は空白のままにしてください。 |
Value to send | 送信するメッセージに含めるデータを定義します。編集アイコンをクリックしてValue-Select Menuを開き、送信する内容を指定します:定数値、Labvanced変数、または式。 |
Note: メッセージを受信するシステム(親ページまたは外部アプリケーション)は、Labvancedからの受信postMessageを処理するためのwindow.addEventListener('message', ...)リスナーを実装する必要があります。
Further Reading and Open Materials
- PostMessage Received Trigger: 外部ソースからのincoming postMessagesをリッスンするためのペアトリガー。
- Value-Select Menu: 変数、定数、または式を使用して送信する値を定義する方法。
- Labvanced Web Bridge Extension: 埋め込まれた外部ウェブサイトとの通信にpostMessageがどのように使用されるかに関するコンテキスト。
- Events Overview: Labvancedのトリガーとアクション論理システムの完全な紹介。