以下是对 Browser.runtime
API 中主要方法的参数、返回值、作用及运用场景的详细解释:
1. 连接与通信方法
connect(connectInfo?: ConnectInfo)
/ connect(extensionId: string, connectInfo?: ConnectInfo)
- 参数:
extensionId
(可选):目标扩展的 ID,未指定时默认连接当前扩展。connectInfo
(可选):连接配置,包含name
(连接名称)和includeTlsChannelId
(是否包含 TLS 通道 ID)。
- 返回值:
Port
对象,用于双向通信(postMessage
/disconnect
)。 - 作用:建立与其他扩展、背景页或内容脚本的持久连接。
- 运用场景:
- 扩展内部模块(如popup与背景页)通信。
- 跨扩展通信(需知道目标扩展ID)。
- 通过
tabs.connect
与特定标签页的内容脚本通信。
sendMessage(message, responseCallback)
/ sendMessage(extensionId, message, responseCallback)
- 参数:
extensionId
(可选):目标扩展ID,未指定时发送给当前扩展。message
:任意类型的消息内容。options
(可选):包含includeTlsChannelId
。responseCallback
(可选):接收异步响应的回调函数,或返回Promise<R>
。
- 返回值:无(回调形式)或
Promise<R>
(P