--- title: 'ServiceWorkerContainer: message イベント' slug: Web/API/ServiceWorkerContainer/message_event tags: - API - Event - Reference - Service Workers - ServiceWorkerContainer translation_of: Web/API/ServiceWorkerContainer/message_event ---
message イベントは、サービスワーカーからメッセージを受信するために、サービスワーカーによって制御されるページで使用します。
| バブリング | なし |
|---|---|
| キャンセル | 不可 |
| インターフェイス | {{domxref("MessageEvent")}} |
| イベントハンドラープロパティ | onmessage |
この例では、サービスワーカーは fetch イベントからクライアントの ID を取得し、Client.postMessage を使用してメッセージを送信します。
// サービスワーカー内
async function messageClient(clientId) {
const client = await clients.get(clientId);
client.postMessage('こんにちはクライアント!');
}
addEventListener('fetch', (event) => {
messageClient(event.clientId);
event.respondWith(() => {
// ...
});
});
クライアントは message イベントをリッスンしてメッセージを受信できます。
// 制御されているページ
navigator.serviceWorker.addEventListener('message', (message) => {
console.log(message);
});
| 仕様 | 状態 |
|---|---|
| {{SpecName('Service Workers', '#dom-serviceworkercontainer-onmessage', 'message')}} | {{Spec2('Service Workers')}} |
{{Compat("api.ServiceWorkerContainer.message_event")}}