MessageEvent interfaceMessages in server-sent events, Web sockets, cross-document
messaging, channel messaging, and broadcast channels use the
MessageEvent interface for their message
events:
[Exposed=(Window,Worker,AudioWorklet)]
interface MessageEvent : Event {
constructor(DOMString type, optional MessageEventInit eventInitDict = {});
readonly attribute any data;
readonly attribute USVString origin;
readonly attribute DOMString lastEventId;
readonly attribute MessageEventSource? source;
readonly attribute FrozenArray<MessagePort> ports;
readonly attribute UserActivation? userActivation;
void initMessageEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false, optional any data = null, optional USVString origin = "", optional DOMString lastEventId = "", optional MessageEventSource? source = null, optional sequence<MessagePort> ports = []);
};
dictionary MessageEventInit : EventInit {
any data = null;
USVString origin = "";
DOMString lastEventId = "";
MessageEventSource? source = null;
sequence<MessagePort> ports = [];
UserActivation? userActivation = null;
};
typedef (WindowProxy or MessagePort or ServiceWorker) MessageEventSource;
dataReturns the data of the message.
originReturns the origin of the message, for server-sent events and cross-document messaging.
lastEventIdReturns the last event ID string, for server-sent events.
sourceReturns the WindowProxy of the source window, for cross-document
messaging, and the MessagePort being attached, in the connect event fired at
SharedWorkerGlobalScope objects.
portsReturns the MessagePort array sent with the message, for cross-document
messaging and channel messaging.
userActivationReturns a snapshot of the UserActivation state in the
source at the time of postMessage().
The data attribute must return the value
it was initialized to. It represents the message being sent.
The origin attribute must return the
value it was initialized to. It represents, in server-sent events and
cross-document messaging, the origin of the document that sent the
message (typically the scheme, hostname, and port of the document, but not its path or fragment).
The lastEventId attribute must
return the value it was initialized to. It represents, in server-sent events, the
last event ID string of the event
source.
The source attribute must return the
value it was initialized to. It represents, in cross-document messaging, the
WindowProxy of the browsing context of the Window object
from which the message came; and in the connect events used by shared workers, the newly connecting
MessagePort.
The ports attribute must return the
value it was initialized to. It represents, in cross-document messaging and
channel messaging, the MessagePort array being sent.
The userActivation attribute
must return the value it was initialized to. It represents the UserActivation state
at the source.
The initMessageEvent()
method must initialize the event in a manner analogous to the similarly-named initEvent() method. [DOM]
Various APIs (e.g., WebSocket, EventSource) use the
MessageEvent interface for their message event
without using the MessagePort API.