根据this simple example: 如何知道哪个内容脚本(哪个选项卡)实际上将消息发送到背景(第10行)?例如标签ID。如何知道很多内容脚本与Firefox插件中的背景进行通信?
0
A
回答
1
在example为背景的script.js,所述portFromCS
具有sender属性: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);
});
});
您也可以做“一次性”或无连接消息 browser.runtime.onMessage
处理程序具有签名(msg, sender, reply)
,其中sender是与上面相同的MessageSender对象。
相关问题
- 1. 与内容脚本进行通信的背景页面
- 2. 内容脚本和背景通信
- 3. 背景与内容脚本
- 4. 与Chrome扩展中的内容脚本中的页面脚本进行通信
- 5. 如何在Firefox WebExtensions中将背景与侧栏脚本进行通信? (反之亦然)
- 6. 与内容脚本中通信Firefox扩展
- 7. 如何在内容脚本和背景页面之间进行沟通
- 8. 如何在内容脚本和面板之间进行通信
- 9. 带有CSS和背景图片的Firefox扩展内容脚本
- 10. 如何在Firefox插件和android进程之间进行通信?
- 11. 内容脚本通知
- 12. 什么是与Firefox插件进行通信的最佳方式
- 13. 如何通过从弹出脚本背景文字讯息内容脚本
- 14. 执行内容脚本的功能,如果响应从背景
- 15. php:如何与运行PHP脚本的后台进行通信?
- 16. C#与PHP脚本进行通信
- 17. Firefox Addon sdk:不同内容之间的通信脚本
- 18. Firefox插件中的内容脚本和跨域请求
- 19. Photoshop CS5脚本填充内容知道
- 20. chrome消息从背景到内容脚本再到背景
- 21. 通过Google Chrome/Firefox插件中的控制台访问/操作内容脚本
- 22. 铬扩展后台页面应该如何与多个内容脚本进行通信?
- 23. 在Firefox插件内容脚本中访问窗口对象?
- 24. 如何从firefox插件中的main.js调用内容脚本函数
- 25. iOS本地通知背景
- 26. 如何从HTML通知中与主页进行通信?
- 27. 如何知道Pdf的背景颜色
- 28. 背景内容脚本消息:消息内容脚本之前发送准备
- 29. 如何创建将与mongoosemetrics API进行通信的infusionsoft插件?
- 30. 如何对查询中进入m2m通信的背景进行检查?
我的解决方案是在后台使用'browser.tabs.onCreated',立即将标签ID发送到内容脚本并将其保存在内容脚本中。但它很丑。 – hayj