javascript - 在 chrome 中的弹出窗口和内容脚本之间进行通信

标签 javascript google-chrome-extension

我正在尝试构建一个 chrome 扩展,但我无法将消息从弹出窗口发送到内容脚本。请告诉我问题出在哪里。

弹窗脚本代码:

         $(document).ready(function(){ 
            $('#button').click(function(){
              chrome.tabs.query({active: true, currentWindow: true},function(tabs) {
                     chrome.tabs.sendMessage(tabs[0].id, {message: "hello"});
        });
    });
});

内容脚本代码:

chrome.extension.onMessage.addListener(
 function(request, sender) {
  alert("Contentscript has received a message from from background script: '" + request.message + "'");
  });

这是 manifest.json :

{
  "manifest_version" : 2,
  "name" : "First My Chrome Extension",
  "version" : "0.0.1",
  "description" : "The first web-app using chrome extension technology",
  "icons" : {
    "16" : "images/icon16px.png",
    "48" : "images/icon48px.png",
    "128" : "images/icon128px.png"
  },


 "background": {
    "scripts": ["scripts/background.js"]

  },



  "browser_action" :{
    "default_icon":{
      "48" : "images/icon48px.png"
    },
    "default_title" : "Nghoangvutn",
    "default_popup" : "popup.html"
  },
  "content_scripts":[
  {
    "matches":[
      "<all_urls>"
      ],
    "js" : [
      "scripts/jquery.js",
      "scripts/content.js"
      ]

  }
    ],

  "permissions" : [
    "tabs",
    "storage"
    ]

}

最佳答案

应更新内容脚本代码以使用以下方法 chrome.runtime.onMessage.addListener .请注意从 chrome.extensionchrome.runtime 的变化。

chrome.runtime.onMessage.addListener(
 function(request, sender) {
   alert("Contentscript has received a message from from background script: '" + request.message + "'");
});

关于javascript - 在 chrome 中的弹出窗口和内容脚本之间进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38958298/

相关文章:

javascript - Bootstrap 移动导航下拉菜单在打开时跳转

javascript - Jasmine 2 : how to handle failing beforeAll

javascript - 如何在 Google Chrome 扩展中获取 Node.js 进程的调试目标信息?

php - 如何通过 chrome 扩展存储用户特定的数据

php - jquery 悬停有效,onclick 无效

javascript - 仅获取 "own object"而不是原型(prototype)链的成语

c# - 如何隐藏 CompareValidators 和正则表达式直到需要它们

c# - 如何在 C# 中使用扩展 Id 获取 chrome 扩展名称和状态

javascript - 突变观察者-addedNodes[0]最终变得未定义

google-chrome - chrome.fileSystem 可以在 Google Native Client 中使用吗