postMessage method
Sends a cross-document message.
Syntax
object.postMessage(msg, targetOrigin);
Parameters
msg [in]
Type: anyOne of the following:
- JavaScript primitive, such as a string
- object
- Array
- PixelArray object
- ImageData object
- Blob
- File
- ArrayBuffer
postMessage cannot send a function as a message.
targetOrigin [in, optional]
Type: VARIANTA VARIANT of type VT_BSTR that specifies a target URI.
Return value
This method does not return a value.
Standards information
- HTML5 Web Messaging, Section 5.3
Remarks
Security Warning: While "*" is a valid value for targetOrigin, set the parameter to the value you expected to receive; otherwise, the security of your message might be compromised. For more information about this security message, see Section 3.1.2 of the HTML5 Web Messaging Specification (Editor's Draft) from the World Wide Web Consortium (W3C).
The IHTMLWindow6::postMessage method allows cooperative text exchange between non-trusted modules from different domains embedded within a page. It does so by ensuring a consistent and secure process for text-based data exchange.
When a script invokes this method on a window object, the browser sends an HTMLWindowEvents3::onmessage event to the target document on which the IDOMMessageEvent::data property has been set to the value passed in msg.
When a target URI is passed into the method, it must have at least a protocol and a host specified. The message will only be sent if the target window has the same protocol and host as the specified target URI.
The IHTMLWindow6::postMessage method call does not return until the event listeners of the target document have finished executing.