Google chrome extension 铬延伸。chrome.runtime.onMesasgeExternal

Google chrome extension 铬延伸。chrome.runtime.onMesasgeExternal,google-chrome-extension,Google Chrome Extension,我无法连接我的分机 我正在尝试连接,我使用repl.it进行测试,但什么也没有 我的main.js chrome.runtime.onMessageExternal.addListener( function(request, sender, sendResponse) { console.log('Success!!'); console.log(request, sender, sendResponse); } ); 我在repl.it中的代

我无法连接我的分机

我正在尝试连接,我使用repl.it进行测试,但什么也没有

我的main.js

chrome.runtime.onMessageExternal.addListener(
    function(request, sender, sendResponse) {
        console.log('Success!!');
        console.log(request, sender, sendResponse);
    }
);
我在repl.it中的代码

chrome.runtime.sendMessage("hpibninopnnoohihjplmdcmjfkeepahh", {message: "Hello"}, function (response) {
  console.log("Response: ", response);
})
我的manifest.json

{
  "manifest_version": 2,
  "name": "Example",
  "description": "Trying to connect",
  "version": "0.1",
    "externally_connectable": {
        "matches": [
            "https://repl.it/Ngjk"
    ]
    },
  "browser_action": {
    "default_icon": "icon.png"
  },
  "background": {
    "scripts": ["main.js"],
    "persistent": true
  },
  "permissions": [
    "activeTab",
    "tabs",
    "background"
  ]
}

我看不出问题所在,其他代码运行良好,但我无法连接,我不知道原因。

您应该修改main.js

chrome.runtime.onMessageExternal.addListener(
    function(request, sender, sendResponse) {
        console.log('Success!!');
        console.log(request, sender, sendResponse);
        sendResponse({myResponse: 'hello'});
});
此外,您还可以添加
console.log(chrome.runtime.lastError)以查看错误(如果有)

编辑


若您在上打开chrome开发工具并在控制台中运行,则代码将正常工作。但是,它不工作,因为它是从地址about:blank执行的

main.js没有发送任何响应,因此不清楚问题出在哪里。在中设置一个断点,看看会发生什么。我在console.log中放置了一个断点(“suces!”),但什么都没有。我在文件中添加了一些其他代码,以检查文件是否加载正常,以及代码是否正常工作。