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

时间:2016-08-15 15:41:47

标签: 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"
    ]

}

1 个答案:

答案 0 :(得分:0)

应更新内容脚本代码以使用以下方法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 + "'");
});
相关问题