FF 插件中的“tabs”和“workers”实体之间有什么样的关系?
What kind of relations between `tabs` and `workers` entities in FF addons?
我是 FF 附加组件及其 SDK 的新手,所以我想弄清楚一些基本概念。
我想澄清的第一件事 - tabs-sdk
和 workers
之间的关系。正如我从文档中得到的那样——每次我通过
将内容脚本附加到选项卡时
this.activeWorker = tabs.activeTab.attach({
contentScript: script
});
我要 worker
。但我的问题是:"Is it a totally new worker
, related to the same activeTab
?"如果是这样,是否意味着下一个陈述是正确的?
var firstWorker = tabs.activeTab.attach({
contentScript: someScript
});
var secondWorker = tabs.activeTab.attach({
contentScript: someOtherScript
});
var isEqual = (firstWorker === secondWorker); //false
如果正确,下一个问题是:"Is there a way, to listen for messages on tab and not on worker?"
是的,每次调用 attach 都会为您提供一个新的独立 worker。
要监听来自每个 worker 的消息,您只需在每次创建时传递回调函数即可。
我是 FF 附加组件及其 SDK 的新手,所以我想弄清楚一些基本概念。
我想澄清的第一件事 - tabs-sdk
和 workers
之间的关系。正如我从文档中得到的那样——每次我通过
this.activeWorker = tabs.activeTab.attach({
contentScript: script
});
我要 worker
。但我的问题是:"Is it a totally new worker
, related to the same activeTab
?"如果是这样,是否意味着下一个陈述是正确的?
var firstWorker = tabs.activeTab.attach({
contentScript: someScript
});
var secondWorker = tabs.activeTab.attach({
contentScript: someOtherScript
});
var isEqual = (firstWorker === secondWorker); //false
如果正确,下一个问题是:"Is there a way, to listen for messages on tab and not on worker?"
是的,每次调用 attach 都会为您提供一个新的独立 worker。
要监听来自每个 worker 的消息,您只需在每次创建时传递回调函数即可。