runtime.MessageSender

一个包含有关消息或连接请求发送者信息的 Object,该 Object 会传递给 runtime.onMessage() 侦听器。

它也是 runtime.Port 的属性,但仅在传递给 runtime.onConnect()runtime.onConnectExternal() 侦听器的 Port 实例中。

类型

此类型的值为 Object。它们包含以下属性

documentId 可选

string。打开连接的文档的 UUID。

documentLifecycle 可选

string。创建端口时打开连接的文档所处的生命周期状态。请注意,自创建端口以来,文档的生命周期状态可能已更改。

frameId 可选

integer。打开连接的框架。顶级框架为零,子框架为正。仅当设置了 tab 时才会设置此值。

id 可选

string。发送消息的扩展程序的 ID(如果消息是由扩展程序发送的)。如果发送者使用 manifest.json 中的 browser_specific_settings 键显式设置了 ID,则 id 为此值。否则,它将具有为发送者生成的 ID。

origin 可选

string。打开连接的页面或框架的来源。它可能与 url 属性不同(例如,about:blank)或不透明(例如,如果 iframe 受沙箱保护)。如果无法从 URL 明确看出来源是否可信,这对于识别来源是否可信很有用。

tab 可选

tabs.Tab。打开连接的 tabs.Tab。此属性仅在从选项卡(包括内容脚本)打开连接时存在。

tlsChannelId 可选

string。打开连接的页面或框架的 TLS 通道 ID(如果扩展程序请求并可用)。

url 可选

string。托管发送消息的脚本的页面或框架的 URL。

如果发送者是在扩展页面(例如 后台页面选项页面浏览器操作页面操作 弹出窗口)中运行的脚本,则 URL 格式为 "moz-extension://<extension-internal-id>/path/to/page.html"。如果发送者是后台脚本,并且您没有包含后台页面,则为 "moz-extension://<extension-internal-id>/_generated_background_page.html"

如果发送者是在网页(包括内容和普通页面脚本)中运行的脚本,则 url 为网页 URL。如果脚本在 iframe 中运行,则 url 为 iframe 的 URL。

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

注意:此 API 基于 Chromium 的 chrome.runtime API。本文档源自 Chromium 代码中的 runtime.json