Living Standard — Last Updated 16 January 2024
The WebSocket
interface used
to be defined here. It is now defined in WebSockets. [WEBSOCKETS]
MessageEvent
interfaceSupport in all current engines.
Messages in server-sent events, cross-document messaging,
channel messaging, broadcast channels, and WebSockets use
the MessageEvent
interface for their message
events: [WEBSOCKETS]
[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 ;
undefined 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 = [];
};
typedef (WindowProxy or MessagePort or ServiceWorker ) MessageEventSource ;
event.data
Support in all current engines.
Returns the data of the message.
event.origin
Support in all current engines.
Returns the origin of the message, for server-sent events and cross-document messaging.
event.lastEventId
Support in all current engines.
Returns the last event ID string, for server-sent events.
event.source
Support in all current engines.
Returns the WindowProxy
of the source window, for cross-document
messaging, and the MessagePort
being attached, in the connect
event fired at
SharedWorkerGlobalScope
objects.
event.ports
Support in all current engines.
Returns the MessagePort
array sent with the message, for cross-document
messaging and channel messaging.
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 initMessageEvent(type, bubbles,
cancelable, data, origin, lastEventId,
source, ports)
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.