DedicatedWorkerGlobalScope: messageerror イベント

Baseline 2023

Newly available

Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

messageerror イベントは DedicatedWorkerGlobalScope オブジェクトで、シリアライズ解除できないメッセージを受け取ったときに発生します。

このイベントはキャンセル不可で、バブリングしません。

構文

このイベント名を addEventListener() などのメソッドで使用するか、イベントハンドラープロパティを設定するかしてください。

js
addEventListener("messageerror", (event) => {});

onmessageerror = (event) => {};

イベント型

MessageEvent です。 Event を継承しています。

Event MessageEvent

イベントプロパティ

このインターフェイスには、親である Event から継承したプロパティもあります。

MessageEvent.data 読取専用

メッセージ送信者から送信されたデータです。

MessageEvent.origin 読取専用

文字列で、メッセージ送信者のオリジンを表します。

MessageEvent.lastEventId 読取専用

文字列で、このイベントの固有の ID を表します。

MessageEvent.source 読取専用

MessageEventSourceWindowProxy, MessagePort, ServiceWorker の何れかのオブジェクトがなれる)で、メッセージ送信者を表します。

MessageEvent.ports 読取専用

MessagePort オブジェクトの配列で、メッセージが送信されるチャネルに関連するポートを表します(チャネルメッセージングや共有ワーカーにメッセージを送信する場合など、必要に応じて)。

messageerroraddEventListener() を使用して待ち受けします。

js
// worker.js

self.addEventListener("messageerror", (event) => {
  self.postMessage("Error receiving message");
  console.error(event);
});

同じですが、 onmessageerror イベントハンドラープロパティを使用しています。

js
// worker.js

self.onmessageerror = (event) => {
  self.postMessage("Error receiving message");
  console.error(event);
};

仕様書

Specification
HTML Standard
# event-messageerror
HTML Standard
# handler-dedicatedworkerglobalscope-onmessageerror

ブラウザーの互換性

BCD tables only load in the browser

関連情報