runtime.MessageSender

An object containing information about the sender of a message or connection request; this is passed to the runtime.onMessage() listener.

It is also a property of runtime.Port, but only in the Port instance passed into the runtime.onConnect() or runtime.onConnectExternal() listeners.

Type

Values of this type are objects. They contain the following properties:

tabOptional
tabs.Tab. The tabs.Tab which opened the connection. This property will only be present when the connection was opened from a tab (including content scripts).
frameIdOptional
integer. The frame that opened the connection. Zero for top-level frames, positive for child frames. This will only be set when tab is set.
idOptional
string. The ID of the extension that sent the message, if the message was sent by an extension. If the sender set an ID explicitly using the applications key in manifest.json, then id will have this value. Otherwise it will have the ID that was generated for the sender.
Note that in Firefox, before version 54, this value was the extension's internal ID (that is, the UUID that appears in the extension's URL).
urlOptional
string. The URL of the page or frame hosting the script that sent the message.
If the sender is a script running in an extension page (such as a background page, an options page, or a browser action or page action popup), the URL will be in the form "moz-extension://<extension-internal-id>/path/to/page.html". If the sender is a background script and you haven't included a background page, it will be "moz-extension://<extension-internal-id>/_blank.html".
If the sender is a script running in a web page (including content scripts as well as normal page scripts), then url will be the web page URL. If the script is running in an iframe, url will be the iframe's URL.
tlsChannelIdOptional
string. The TLS channel ID of the page or frame that opened the connection, if requested by the extension, and if available.

Browser compatibility

ChromeEdgeFirefoxFirefox for AndroidOpera
Basic support26Yes45 148 115
url28Yes 2454815
tlsChannelId32No454819
frameId41Yes454828
1. Before version 54, 'id' was the add-on's internal UUID, not the add-on ID.
2. The `url` is missing when the message was sent by an extension view.

Acknowledgements

This API is based on Chromium's chrome.runtime API. This documentation is derived from runtime.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

Document Tags and Contributors

 Contributors to this page: andrewtruongmoz, wbamberg, chrisdavidmills
 Last updated by: andrewtruongmoz,