以下是对 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
