ExtendableMessageEvent.origin

The origin read-only property of the ExtendableMessageEvent interface returns the origin of the Client that sent the message.

Syntax

var myOrigin = extendableMessageEvent.origin;

Value

A USVString.

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.origin);
  port = e.ports[0];
}

Specifications

Specification Status Comment
Service Workers
The definition of 'ExtendableMessageEvent.origin' in that specification.
Working Draft Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
origin
Experimental
Chrome ? Edge ? Firefox No support NoIE No support NoOpera ? Safari No support NoWebView Android No support NoChrome Android ? Firefox Android No support NoOpera Android ? Safari iOS No support NoSamsung Internet Android ?

Legend

No support
No support
Compatibility unknown
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

See also