The WebRTC message event is sent to the onmessage event handler on an RTCDataChannel object when a message has been received from the remote peer.
| Bubbles | No |
|---|---|
| Cancelable | No |
| Interface | MessageEvent |
| Event handler property | onmessage |
Note: The message event uses as its event object type the MessageEvent interface defined by the HTML specification.
Examples
For a given RTCDataChannel, dc, created for a peer connection using its createDataChannel() method, this code sets up a handler for incoming messages and acts on them by adding the data contained within the message to the current document as a new <p> (paragraph) element.
dc.addEventListener("message", ev => {
let newParagraph = document.createElement("p");
let textNode = document.createTextNode(event.data);
newParagraph.appendChild(textNode);
document.body.appendChild(newParagraph);
}, false);
Lines 2-4 create the new paragraph element and add the message data to it as a new text node. Line 6 appends the new paragraph to the end of the document's body.
You can also use an RTCDataChannel object's onmessage event handler property to set the event handler:
dc.onmessage = ev => {
let newParagraph = document.createElement("p");
let textNode = document.createTextNode(event.data);
newParagraph.appendChild(textNode);
document.body.appendChild(newParagraph);
}
Specifications
| Specification | Status | Comment |
|---|---|---|
| WebRTC 1.0: Real-time Communication Between Browsers The definition of 'the <code>message</code> event' in that specification. |
Candidate Recommendation |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
message event | Chrome Full support 56 | Edge Full support ≤79 | Firefox Full support Yes | IE No support No | Opera Full support 43 | Safari Full support Yes | WebView Android Full support 56 | Chrome Android Full support 56 | Firefox Android Full support Yes | Opera Android Full support 43 | Safari iOS Full support Yes | Samsung Internet Android Full support 6.0 |
Legend
- Full support
- Full support
- No support
- No support
See also
- WebRTC API
- A simple RTCDataChannel example
- Related events:
open,close, anderror RTCDataChannel.send()
