WebSocket: message イベント
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
メモ: この機能はウェブワーカー内で利用可能です。
message イベントは、 WebSocket を通してデータを受け取ったときに発生します。
構文
イベント名を addEventListener() などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。
js
addEventListener("message", (event) => {});
onmessage = (event) => {};
イベント型
MessageEvent です。 Event から継承しています。
イベントプロパティ
以下に示したプロパティに加え、親インターフェイスである Event から継承したプロパティも利用できます。
data読取専用-
メッセージ送信者から送信されたデータです。このプロパティの型は、WebSocket メッセージの種類と
WebSocket.binaryTypeの値によって変わります。- メッセージの種類が "text" の場合、このフィールドは文字列です。
- メッセージの種類が "binary" 型の場合、このプロパティの型はこのソケットの
binaryTypeから推測することができます。ArrayBuffer:binaryTypeが"arraybuffer"の場合Blob:binaryTypeが"blob"の場合、これは関連付けられたメディア型がありません(Blob.typeは""です).
origin読取専用-
文字列で、メッセージ送信者のオリジンを表します。
MessageEvent インターフェイスのその他のプロパティは存在しますが、 WebSocket API には関係ないため、既定値のままにしています。
lastEventId読取専用source読取専用ports読取専用
例
js
// WebSocket 接続を作成
const socket = new WebSocket("ws://localhost:8080");
// メッセージを待ち受け
socket.addEventListener("message", (event) => {
console.log("Message from server ", event.data);
});
仕様書
| 仕様書 |
|---|
| WebSockets> # dom-websocket-onmessage> |