--- 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")}}