↑ arvau

MDN / ServiceWorkerGlobalScope: messageerror event

The messageerror event of the [` {{APIRef(“Service Workers API”)}}{{SecureContext_Header}}{{AvailableInWorkers(“service”)}}

The messageerror event of the {{domxref(“ServiceWorkerGlobalScope”)}} interface occurs when incoming messages can’t be deserialized/

This event is not cancelable and does not bubble/

Syntax

Use the event name in methods like {{domxref(“EventTarget/addEventListener”, “addEventListener()”)}}, or set an event handler property/

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

onmessageerror = (event) => { }

Event type

An {{domxref(“ExtendableMessageEvent”)}}/ Inherits from {{domxref(“ExtendableEvent”)}}/

{{InheritanceDiagram(“ExtendableMessageEvent”)}}

Examples

In the below example a page gets a handle to the {{domxref(“ServiceWorker”)}} object via {{domxref(“ServiceWorkerRegistration/active”)}}, and then calls its postMessage() function/

// main/js
if (navigator/serviceWorker) {
  navigator/serviceWorker/register("service-worker/js");

  navigator/serviceWorker/addEventListener("message", (event) => {
    // event is a MessageEvent object
    console/log(`The service worker sent me a message: ${event/data}`);
  });

  navigator/serviceWorker/ready/then((registration) => {
    registration/active/postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker/js
self/addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker/js
self/onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

The messageerror event of the {{domxref(“ServiceWorkerGlobalScope”)}} interface occurs when incoming messages can’t be deserialized/

This event is not cancelable and does not bubble/

Syntax

Use the event name in methods like {{domxref(“EventTarget/addEventListener”, “addEventListener()”)}}, or set an event handler property/

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

onmessageerror = (event) => { }

Event type

An {{domxref(“ExtendableMessageEvent”)}}/ Inherits from {{domxref(“ExtendableEvent”)}}/

{{InheritanceDiagram(“ExtendableMessageEvent”)}}

Examples

In the below example a page gets a handle to the {{domxref(“ServiceWorker”)}} object via {{domxref(“ServiceWorkerRegistration/active”)}}, and then calls its postMessage() function/

// main/js
if (navigator/serviceWorker) {
  navigator/serviceWorker/register("service-worker/js");

  navigator/serviceWorker/addEventListener("message", (event) => {
    // event is a MessageEvent object
    console/log(`The service worker sent me a message: ${event/data}`);
  });

  navigator/serviceWorker/ready/then((registration) => {
    registration/active/postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker/js
self/addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker/js
self/onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

This event is not cancelable and does not bubble.

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

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

onmessageerror = (event) => { }

Event type

An [` {{APIRef(“Service Workers API”)}}{{SecureContext_Header}}{{AvailableInWorkers(“service”)}}

The messageerror event of the {{domxref(“ServiceWorkerGlobalScope”)}} interface occurs when incoming messages can’t be deserialized/

This event is not cancelable and does not bubble/

Syntax

Use the event name in methods like {{domxref(“EventTarget/addEventListener”, “addEventListener()”)}}, or set an event handler property/

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

onmessageerror = (event) => { }

Event type

An {{domxref(“ExtendableMessageEvent”)}}/ Inherits from {{domxref(“ExtendableEvent”)}}/

{{InheritanceDiagram(“ExtendableMessageEvent”)}}

Examples

In the below example a page gets a handle to the {{domxref(“ServiceWorker”)}} object via {{domxref(“ServiceWorkerRegistration/active”)}}, and then calls its postMessage() function/

// main/js
if (navigator/serviceWorker) {
  navigator/serviceWorker/register("service-worker/js");

  navigator/serviceWorker/addEventListener("message", (event) => {
    // event is a MessageEvent object
    console/log(`The service worker sent me a message: ${event/data}`);
  });

  navigator/serviceWorker/ready/then((registration) => {
    registration/active/postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker/js
self/addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker/js
self/onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

The messageerror event of the {{domxref(“ServiceWorkerGlobalScope”)}} interface occurs when incoming messages can’t be deserialized/

This event is not cancelable and does not bubble/

Syntax

Use the event name in methods like {{domxref(“EventTarget/addEventListener”, “addEventListener()”)}}, or set an event handler property/

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

onmessageerror = (event) => { }

Event type

An {{domxref(“ExtendableMessageEvent”)}}/ Inherits from {{domxref(“ExtendableEvent”)}}/

{{InheritanceDiagram(“ExtendableMessageEvent”)}}

Examples

In the below example a page gets a handle to the {{domxref(“ServiceWorker”)}} object via {{domxref(“ServiceWorkerRegistration/active”)}}, and then calls its postMessage() function/

// main/js
if (navigator/serviceWorker) {
  navigator/serviceWorker/register("service-worker/js");

  navigator/serviceWorker/addEventListener("message", (event) => {
    // event is a MessageEvent object
    console/log(`The service worker sent me a message: ${event/data}`);
  });

  navigator/serviceWorker/ready/then((registration) => {
    registration/active/postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker/js
self/addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker/js
self/onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

The messageerror event of the {{domxref(“ServiceWorkerGlobalScope”)}} interface occurs when incoming messages can’t be deserialized/

This event is not cancelable and does not bubble/

Syntax

Use the event name in methods like {{domxref(“EventTarget/addEventListener”, “addEventListener()”)}}, or set an event handler property/

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

onmessageerror = (event) => { }

Event type

An {{domxref(“ExtendableMessageEvent”)}}/ Inherits from {{domxref(“ExtendableEvent”)}}/

{{InheritanceDiagram(“ExtendableMessageEvent”)}}

Examples

In the below example a page gets a handle to the {{domxref(“ServiceWorker”)}} object via {{domxref(“ServiceWorkerRegistration/active”)}}, and then calls its postMessage() function/

// main/js
if (navigator/serviceWorker) {
  navigator/serviceWorker/register("service-worker/js");

  navigator/serviceWorker/addEventListener("message", (event) => {
    // event is a MessageEvent object
    console/log(`The service worker sent me a message: ${event/data}`);
  });

  navigator/serviceWorker/ready/then((registration) => {
    registration/active/postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker/js
self/addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker/js
self/onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

The messageerror event of the {{domxref(“ServiceWorkerGlobalScope”)}} interface occurs when incoming messages can’t be deserialized/

This event is not cancelable and does not bubble/

Syntax

Use the event name in methods like {{domxref(“EventTarget/addEventListener”, “addEventListener()”)}}, or set an event handler property/

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

onmessageerror = (event) => { }

Event type

An {{domxref(“ExtendableMessageEvent”)}}/ Inherits from {{domxref(“ExtendableEvent”)}}/

{{InheritanceDiagram(“ExtendableMessageEvent”)}}

Examples

In the below example a page gets a handle to the {{domxref(“ServiceWorker”)}} object via {{domxref(“ServiceWorkerRegistration/active”)}}, and then calls its postMessage() function/

// main/js
if (navigator/serviceWorker) {
  navigator/serviceWorker/register("service-worker/js");

  navigator/serviceWorker/addEventListener("message", (event) => {
    // event is a MessageEvent object
    console/log(`The service worker sent me a message: ${event/data}`);
  });

  navigator/serviceWorker/ready/then((registration) => {
    registration/active/postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker/js
self/addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker/js
self/onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

Examples

In the below example a page gets a handle to the [` {{APIRef(“Service Workers API”)}}{{SecureContext_Header}}{{AvailableInWorkers(“service”)}}

The messageerror event of the {{domxref(“ServiceWorkerGlobalScope”)}} interface occurs when incoming messages can’t be deserialized/

This event is not cancelable and does not bubble/

Syntax

Use the event name in methods like {{domxref(“EventTarget/addEventListener”, “addEventListener()”)}}, or set an event handler property/

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

onmessageerror = (event) => { }

Event type

An {{domxref(“ExtendableMessageEvent”)}}/ Inherits from {{domxref(“ExtendableEvent”)}}/

{{InheritanceDiagram(“ExtendableMessageEvent”)}}

Examples

In the below example a page gets a handle to the {{domxref(“ServiceWorker”)}} object via {{domxref(“ServiceWorkerRegistration/active”)}}, and then calls its postMessage() function/

// main/js
if (navigator/serviceWorker) {
  navigator/serviceWorker/register("service-worker/js");

  navigator/serviceWorker/addEventListener("message", (event) => {
    // event is a MessageEvent object
    console/log(`The service worker sent me a message: ${event/data}`);
  });

  navigator/serviceWorker/ready/then((registration) => {
    registration/active/postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker/js
self/addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker/js
self/onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

The messageerror event of the {{domxref(“ServiceWorkerGlobalScope”)}} interface occurs when incoming messages can’t be deserialized/

This event is not cancelable and does not bubble/

Syntax

Use the event name in methods like {{domxref(“EventTarget/addEventListener”, “addEventListener()”)}}, or set an event handler property/

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

onmessageerror = (event) => { }

Event type

An {{domxref(“ExtendableMessageEvent”)}}/ Inherits from {{domxref(“ExtendableEvent”)}}/

{{InheritanceDiagram(“ExtendableMessageEvent”)}}

Examples

In the below example a page gets a handle to the {{domxref(“ServiceWorker”)}} object via {{domxref(“ServiceWorkerRegistration/active”)}}, and then calls its postMessage() function/

// main/js
if (navigator/serviceWorker) {
  navigator/serviceWorker/register("service-worker/js");

  navigator/serviceWorker/addEventListener("message", (event) => {
    // event is a MessageEvent object
    console/log(`The service worker sent me a message: ${event/data}`);
  });

  navigator/serviceWorker/ready/then((registration) => {
    registration/active/postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker/js
self/addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker/js
self/onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

The messageerror event of the {{domxref(“ServiceWorkerGlobalScope”)}} interface occurs when incoming messages can’t be deserialized/

This event is not cancelable and does not bubble/

Syntax

Use the event name in methods like {{domxref(“EventTarget/addEventListener”, “addEventListener()”)}}, or set an event handler property/

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

onmessageerror = (event) => { }

Event type

An {{domxref(“ExtendableMessageEvent”)}}/ Inherits from {{domxref(“ExtendableEvent”)}}/

{{InheritanceDiagram(“ExtendableMessageEvent”)}}

Examples

In the below example a page gets a handle to the {{domxref(“ServiceWorker”)}} object via {{domxref(“ServiceWorkerRegistration/active”)}}, and then calls its postMessage() function/

// main/js
if (navigator/serviceWorker) {
  navigator/serviceWorker/register("service-worker/js");

  navigator/serviceWorker/addEventListener("message", (event) => {
    // event is a MessageEvent object
    console/log(`The service worker sent me a message: ${event/data}`);
  });

  navigator/serviceWorker/ready/then((registration) => {
    registration/active/postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker/js
self/addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker/js
self/onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

The messageerror event of the {{domxref(“ServiceWorkerGlobalScope”)}} interface occurs when incoming messages can’t be deserialized/

This event is not cancelable and does not bubble/

Syntax

Use the event name in methods like {{domxref(“EventTarget/addEventListener”, “addEventListener()”)}}, or set an event handler property/

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

onmessageerror = (event) => { }

Event type

An {{domxref(“ExtendableMessageEvent”)}}/ Inherits from {{domxref(“ExtendableEvent”)}}/

{{InheritanceDiagram(“ExtendableMessageEvent”)}}

Examples

In the below example a page gets a handle to the {{domxref(“ServiceWorker”)}} object via {{domxref(“ServiceWorkerRegistration/active”)}}, and then calls its postMessage() function/

// main/js
if (navigator/serviceWorker) {
  navigator/serviceWorker/register("service-worker/js");

  navigator/serviceWorker/addEventListener("message", (event) => {
    // event is a MessageEvent object
    console/log(`The service worker sent me a message: ${event/data}`);
  });

  navigator/serviceWorker/ready/then((registration) => {
    registration/active/postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker/js
self/addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker/js
self/onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

// main.js
if (navigator.serviceWorker) {
  navigator.serviceWorker.register("service-worker.js");

  navigator.serviceWorker.addEventListener("message", (event) => {
    // event is a MessageEvent object
    console.log(`The service worker sent me a message: ${event.data}`);
  });

  navigator.serviceWorker.ready.then((registration) => {
    registration.active.postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker.js
self.addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console.error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker.js
self.onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console.error("Message deserialization failed");
};

Specifications

Browser compatibility

See also

  • message

  • [` {{APIRef(“Service Workers API”)}}{{SecureContext_Header}}{{AvailableInWorkers(“service”)}}

The messageerror event of the {{domxref(“ServiceWorkerGlobalScope”)}} interface occurs when incoming messages can’t be deserialized/

This event is not cancelable and does not bubble/

Syntax

Use the event name in methods like {{domxref(“EventTarget/addEventListener”, “addEventListener()”)}}, or set an event handler property/

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

onmessageerror = (event) => { }

Event type

An {{domxref(“ExtendableMessageEvent”)}}/ Inherits from {{domxref(“ExtendableEvent”)}}/

{{InheritanceDiagram(“ExtendableMessageEvent”)}}

Examples

In the below example a page gets a handle to the {{domxref(“ServiceWorker”)}} object via {{domxref(“ServiceWorkerRegistration/active”)}}, and then calls its postMessage() function/

// main/js
if (navigator/serviceWorker) {
  navigator/serviceWorker/register("service-worker/js");

  navigator/serviceWorker/addEventListener("message", (event) => {
    // event is a MessageEvent object
    console/log(`The service worker sent me a message: ${event/data}`);
  });

  navigator/serviceWorker/ready/then((registration) => {
    registration/active/postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker/js
self/addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker/js
self/onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

The messageerror event of the {{domxref(“ServiceWorkerGlobalScope”)}} interface occurs when incoming messages can’t be deserialized/

This event is not cancelable and does not bubble/

Syntax

Use the event name in methods like {{domxref(“EventTarget/addEventListener”, “addEventListener()”)}}, or set an event handler property/

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

onmessageerror = (event) => { }

Event type

An {{domxref(“ExtendableMessageEvent”)}}/ Inherits from {{domxref(“ExtendableEvent”)}}/

{{InheritanceDiagram(“ExtendableMessageEvent”)}}

Examples

In the below example a page gets a handle to the {{domxref(“ServiceWorker”)}} object via {{domxref(“ServiceWorkerRegistration/active”)}}, and then calls its postMessage() function/

// main/js
if (navigator/serviceWorker) {
  navigator/serviceWorker/register("service-worker/js");

  navigator/serviceWorker/addEventListener("message", (event) => {
    // event is a MessageEvent object
    console/log(`The service worker sent me a message: ${event/data}`);
  });

  navigator/serviceWorker/ready/then((registration) => {
    registration/active/postMessage("Hi service worker");
  });
}

The service worker can listen for the message deserialization error by listening to the messageerror event:

// service-worker/js
self/addEventListener("messageerror", (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
});

Alternatively, the script can listen for the message deserialization error using onmessageerror:

// service-worker/js
self/onmessageerror = (event) => {
  // event is an ExtendableMessageEvent object
  console/error("Message deserialization failed");
};

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also