ExtendableMessageEvent.source
The source
read-only property of the ExtendableMessageEvent
interface returns a reference to the Client
object from which the message was sent.
Syntax
var mySource = extendableMessageEvent.source;
Value
A Client
, ServiceWorker
or MessagePort
object.
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) { console.log(e.source); port = e.ports[0]; }
Specifications
Specification |
---|
Service Workers 1 # extendablemessage-event-source |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
source |
51 |
17 |
45
Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
|
No |
38 |
11.1 |
51 |
51 |
45 |
41 |
11.3 |
5.0 |
See also
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ExtendableMessageEvent/source