如何知道哪个内容脚本与 Firefox 附加组件中的后台通信?
How to know which content script communicates with the background in a Firefox add-on?
根据this simple example:
如何知道哪个内容脚本(哪个选项卡)实际上正在向后台发送消息(第 10 行)?例如标签 ID.
在example for background-script.js, the portFromCS
has a sender property: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/Port
发件人是一个对象,其中包含 tab
,特别是 tab.id
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/MessageSender
/* background-script.js */
browser.runtime.onConnect.addListener(port => {
port.onMessage.addListener((msg) => {
console.log("bg received", msg, "from tab", port.sender.tab.id);
});
});
您还可以使用 "one-off" 或无连接消息
browser.runtime.onMessage
处理程序具有签名 (msg, sender, reply)
,其中发送方是与上面相同的 MessageSender 对象。
根据this simple example: 如何知道哪个内容脚本(哪个选项卡)实际上正在向后台发送消息(第 10 行)?例如标签 ID.
在example for background-script.js, the portFromCS
has a sender property: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/Port
发件人是一个对象,其中包含 tab
,特别是 tab.id
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/MessageSender
/* background-script.js */
browser.runtime.onConnect.addListener(port => {
port.onMessage.addListener((msg) => {
console.log("bg received", msg, "from tab", port.sender.tab.id);
});
});
您还可以使用 "one-off" 或无连接消息
browser.runtime.onMessage
处理程序具有签名 (msg, sender, reply)
,其中发送方是与上面相同的 MessageSender 对象。