This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The onmessage property of the ServiceWorkerContainer interface is an event handler fired whenever a message event occurs — when incoming messages are received to the ServiceWorkerContainer object (e.g., via a MessagePort.postMessage() call).

Note: Messages sent to service worker contexts (e.g. as the event object of onmessage) are represented by MessageEvent objects in modern browsers, for consistency with other web messaging features. (They used to be represented by ServiceWorkerMessageEvent objects, which have now been deprecated.)


ServiceWorkerContainer.onmessage = function(messageevent) { ... }


// TBD


Specification Status Comment
Service Workers
The definition of 'ServiceWorkerContainer.onmessage' in that specification.
Working Draft Initial definition.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support40



442 No27 No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support4040 ?4427 No4.0

1. From version 16: this feature is behind the Enable service workers preference.

2. Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR).

Document Tags and Contributors

 Contributors to this page: fscholz, abbycar, jpmedley, chrisdavidmills, kscarfone
 Last updated by: fscholz,