我正在尝试创建2个GeckoSession来代表两个选项卡。
我有一个带有后台脚本的Web扩展。我想向每个选项卡的内容脚本发送一条单独的消息,但是为此,我需要知道选项卡ID(我不想将消息发送给所有选项卡,因为每个选项卡都可以加载相同的页面)。
获取每个GeckoSession对象的选项卡ID的最佳方法是什么?
A GeckoSession
的tabId
当前未公开给GeckoView API。通常将完成此操作的方法是直接从内容脚本调用connectNative
打开端口,这会触发onConnect
上的MessageDelegate
。然后,您可以保留Java中的Port
对象并将消息直接发送到内容脚本,这里有一个示例:https://mozilla.github.io/geckoview/consumer/docs/web-extensions#connection-based-messaging