javascript - firefox webextension 从弹出脚本到后台脚本的消息传递

标签 javascript firefox-addon-webextensions

我已经浏览了 MDN 上的 webextension 文档。我确实知道消息传递 Api 用于从 content_script后台脚本 进行通信。但是,我想从弹出脚本到后台脚本进行通信

我的用例是:

How to communicate to background script from a script associated to popup.html page.

比方说,manifest.json

  {

   "description": "Demonstrating toolbar buttons",
   "manifest_version": 2,
   "name": "button-demo",
   "version": "1.0",
   "permissions" : ["activeTab","currentWindow"],//
   
   "background": {
        "scripts": ["background.js"]
    },

   "browser_action": {
   "browser_style": true,
   "default_popup": "popup.html",
   "default_icon": {
   "16": "icons/page-16.png",
   "32": "icons/page-32.png"
   }
 }
}

background.js

//background script is listening to 
browser.runtime.onMessage.addListener((sentMesssage) => 
{ 
    console.log('got the message: ',sentMessage.actualMessage);
});

popup.html 是

   <html>
   <body>
     <script src = 'popup.js'></script>
   </body>
   <html>
   
   

popup.js

My question stands here. Which method to use from the below options:

 browser.runtime.sendMessage({"actualMessage":"some message"});

var tabQ = browser.tabs.query({
   currentWindow: true,
   active: true
});

tabQ.then( (tabs)=>{
 browser.tabs.sentMessage(tab[0].id , {'actualMessage' : "some message"});
});

最佳答案

My question stands here. Which method to use from the below options:

您使用browser.runtime.sendMessage({"actualMessage":"some message"});

关于javascript - firefox webextension 从弹出脚本到后台脚本的消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43018895/

相关文章:

javascript - 使用变异观察器查找新出现的 DOM 类?

javascript - 字符串开头或结尾处的 - 或 _ 的正则表达式

javascript - 如何在 Webextension 中以正确的权限运行跨域 XHR 请求?

javascript - 带有动态过滤器的 onBeforeRequest 事件

javascript - 当另一个字段有内容时,不允许在一个字段中输入文本

JavaScript 大小写错误

javascript - 显示 : None/Block Style Tab Menu Creation with Buttons and Javascript

JavaScript 不在本地页面上运行

javascript - 如何仅在用户更改 URL 时触发事件?

javascript - 查看 Firefox 扩展/附加组件发出的请求