Javascript 基本google chrome扩展消息传递不起作用

Javascript 基本google chrome扩展消息传递不起作用,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我一直试图让chrome扩展的消息传递正常工作,但console.logresponse给了我未定义的消息。我已经查看了有关消息传递和stackoverflow的文档,但在我的情况下,它不起作用。我不知道为什么 myscript.js: chrome.extension.sendRequest({greeting: "hello"}, function(response) { console.log(response); return true; }); background.

我一直试图让chrome扩展的消息传递正常工作,但console.logresponse给了我未定义的消息。我已经查看了有关消息传递和stackoverflow的文档,但在我的情况下,它不起作用。我不知道为什么

myscript.js:

chrome.extension.sendRequest({greeting: "hello"}, function(response) {
    console.log(response);
    return true;
});
background.js:

chrome.runtime.onMessage.addListener(
   function(request, sender, sendResponse) {
      sendResponse({farewell: "goodbye"});
      return true;
 });
manifest.json

{
  "manifest_version": 2,

  "name": "nameasf",
  "description": "asfasaf",
  "version": "1.0",

  "permissions": [
    "tabs",
    "http://somedomain.com/"
  ],

    "content_scripts": [
    {
      "matches": ["http://somedomain.com/*"],
      "css": ["mystyles.css"],
      "js": ["jquery.js", "myscript.js"],
      "all_frames": true
    }
  ],

  "background": {
    "scripts": ["background.js"]
  },

  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  }
}

您正在使用过时的chrome.extension.sendRequest。 改用

注意:您已经在使用新的,因此不必在侦听器端更改任何内容

有几个旁注:

对于这里展示的代码,您不需要任何权限,尤其是强大的tabs权限。 如果可能的话,最好使用非持久性背景页面,因为它们对资源更加友好。
可能是复制品啊,是的,来自不同来源的过度剪切和粘贴让我搞砸了无论如何,最初的问题是我用一个扩展重新加载程序重新加载了扩展,而不是从chrome://extensions. 它似乎也需要重新加载权限。