This page is Ready to Use

Notice: The WebPlatform project has been discontinued when the Stewards partnership agreement ended in September 2015. This site has been frozen, and the assets we have created will remain.

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