根據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