web api instance property
ExtendableMessageEvent: ports property
Available in workers
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 an ExtendableMessageEvent.
let port;
self.addEventListener("push", (e) => {
const 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 = (e) => {
port = e.ports[0];
};
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.