ExtendableMessageEvent.ports
The ports read-only property of the
ExtendableMessageEvent interface returns the array containing the
MessagePort objects representing the ports of the associated message
channel (the channel the message is being sent through.)
Value
An array of MessagePort objects.
Examples
When the following code is used inside a service worker to respond to a push messages
by sending the data received via PushMessageData to the main context via
a channel message, the event
object of onmessage will be a ExtendableMessageEvent.
var port;
self.addEventListener('push', function(e) {
var obj = e.data.json();
if(obj.action === 'subscribe' || obj.action === 'unsubscribe') {
port.postMessage(obj);
} else if(obj.action === 'init' || obj.action === 'chatMsg') {
port.postMessage(obj);
}
});
self.onmessage = function(e) {
port = e.ports[0];
}
Specifications
| Specification |
|---|
| Service Workers 1 # extendablemessage-event-ports |
Browser compatibility
BCD tables only load in the browser