如何解决WebExtensions:onConnect 有什么意义? onMessage 似乎是多余的
我试图找出如何识别(许多)创建的选项卡将消息发送到后台脚本,并认为要走的路是 background.js 中的 sender.tab.id browser.runtime.onMessage.addListener((msg,sender,respF)=>{})
但后来我遇到了 onConnect,它将一个 runtime.Port 对象传递给它的处理程序。它可以用来更优雅地识别哪个标签尝试与背景对话吗?如果不是,那么 onConnect 的意义何在?
解决方法
onConnect
的要点是为您提供一个 state
更改,您可以在其中管理您的 onConnect 逻辑 - 通常是修改您的侦听器。
例如
-
addListener
连接时应处于活动状态 -
removeListener
连接时应禁用 -
hasListener
检查连接的实例是否已经具有该侦听器 - 等。例如另外
onConnectExternal
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。