runtime.MessageSender

メッセージや接続要求の送信元に関する情報を持つオブジェクトです。このオブジェクトは、runtime.onMessage() リスナーに渡されます。

また、このオブジェクトは runtime.Port のプロパティでもありますが、runtime.onConnect() または runtime.onConnectExternal() リスナーに渡された Port インスタンスにしか存在しません。

この型はオブジェクトです。以下のプロパティを持ちます。

tabOptional
tabs.Tab 型。接続を開いた tabs.Tab です。このプロパティが存在するのは、タブ (コンテンツスクリプトを含む) から接続が開かれたときだけです。
frameIdOptional
integer 型。接続を開いたフレームです。0 は最上位のフレームを、正の数値は子フレームを表します。このプロパティが存在するのは、tab が設定されるときだけです。
idOptional
string 型。メッセージが拡張機能から送信された場合は、その拡張機能の ID が設定されます。送信側の manifest.json で applications キーを使って明示的に ID が設定されている場合は、id にはその値が使われます。そうでない場合は、送信側の自動生成された ID が使われます。
バージョン 54 より前の Firefox では、この値には拡張機能の内部 ID が使われることに注意してください (つまり、拡張機能の URL に含まれる UUID です)。
urlOptional
string 型。メッセージを送信したスクリプトを持つページやフレームの URL です。
送信側が拡張機能のページ (例えば、バックグラウンド ページオプションページブラウザーアクション や ページアクション のポップアップ) に含まれるスクリプトである場合、URL は "moz-extension://<拡張機能の内部 ID>/path/to/page.html" という形式が使われます。送信側がバックグラウンドスクリプトであって、バックグラウンド ページを使っていない場合、URL は "moz-extension://<拡張機能の内部 ID>/_generated_background_page.html" という形式が使われます。
送信側がウェブページ内のスクリプト (ページに含まれる通常のスクリプトだけでなく、コンテンツスクリプトも含みます) である場合、url はそのウェブページの URL が使われます。スクリプトがフレーム内で動作している場合、url はそのフレームの URL です。
tlsChannelIdOptional
string 型。接続を開いたページまたはフレームの TLS チャンネルの ID です。拡張機能によって要求され、可能である場合にのみ設定されます。

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxOperaAndroid 版 Firefox
MessageSenderChrome 完全対応 26Edge 完全対応 14Firefox 完全対応 45
補足
完全対応 45
補足
補足 Before version 54, 'id' was the add-on's internal UUID, not the add-on ID.
Opera 完全対応 15Firefox Android 完全対応 48
補足
完全対応 48
補足
補足 Before version 54, 'id' was the add-on's internal UUID, not the add-on ID.
frameIdChrome 完全対応 41Edge 完全対応 14Firefox 完全対応 45Opera 完全対応 28Firefox Android 完全対応 48
tlsChannelIdChrome 完全対応 32Edge 未対応 なしFirefox 完全対応 45Opera 完全対応 19Firefox Android 完全対応 48
urlChrome 完全対応 28Edge 完全対応 14
補足
完全対応 14
補足
補足 The `url` is missing when the message was sent by an extension view.
Firefox 完全対応 45Opera 完全対応 15Firefox Android 完全対応 48

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。
謝辞

この API は Chromium の chrome.runtime API に基づいています。このドキュメントは runtime.json における Chromium のコードに基づいています。

Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。