This page is Ready to Use

Notice: The WebPlatform project, supported by various stewards between 2012 and 2015, has been discontinued. This site is now available on github.

postMessage

Summary

Posts a message through the channel, from one port to the other.

Method of apis/web-messaging/MessagePortapis/web-messaging/MessagePort

Syntax

 MessagePort.postMessage(message, transfer);

Parameters

message

Data-type
any

JavaScript primitive, such as a string, PixelArray, ImageData, Blob, File, or ArrayBuffer.

transfer

Data-type
any

(Optional)

Objects listed in transfer are transferred, not just cloned, meaning that they are no longer usable on the sending side. Throws a DataCloneError if transfer array contains duplicate objects or the source or target ports, or if message could not be cloned.

Return Value

No return value

Examples

This example creates a new message channel and uses one of the ports to send a message, which will be received by the other port.

var msgChannel = new MessageChannel();
msgChannel.port1.postMessage('Hello world');

Notes

When you create a new MessageChannel object, it has two connected MessagePort objects that can only send and receive messages between them. If the ports parameter is supplied but contains errors, an InvalidStateError exception is thrown. Sending a message containing an un-supported object (such as a function), a DataCloneError exception is thrown.

Related specifications

W3C Web Messaging Specification
W3C Candidate Recommendation

Attributions