The start() method of the MessagePort interface starts the sending of messages queued on the port. This method is only needed when using EventTarget.addEventListener; it is implied when using MessageChannel.onmessage.

Note: This feature is available in Web Workers.








In the following code block, you can see a handleMessage handler function, run when a message is sent back to this document using onmessage:

channel.port1.onmessage = handleMessage;
function handleMessage(e) {
  para.innerHTML =;

Another option would be to do this using EventTarget.addEventListener, however, when this method is used, you need to explicitly call start() to begin the flow of messages to this document:

channel.port1.addEventListener('message', handleMessage, false);
function handleMessage(e) {
  para.innerHTML =;
  textInput.value = '';



Specification Status Comment
HTML Living Standard
The definition of 'start()' in that specification.
Living Standard  

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 4 (Yes) (Yes) 10.0 10.6 5
Available in workers (Yes) ? 41 (41) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Edge Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 4.4 4 (Yes) No support No support 10.0 11.5 5.1
Available in workers (Yes) (Yes) ? 41.0 (41) (Yes) (Yes) (Yes) (Yes)

See also

Document Tags and Contributors

Last updated by: Valio,