带有回调的sendMessage会在Chrome应用中引发错误

时间:2013-09-08 09:47:40

标签: sendmessage google-chrome-app

我正在尝试将内容中的消息发送到我的Chrome应用中的后台脚本。

// background.js
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
    console.log(message)
    sendResponse("hey man!");
});

// content.js
chrome.runtime.sendMessage("hello world!", function(response) {
    console.log(response);
});

当我在指定了回调的内容中调用sendMessage时(如上面的代码所述),它最终会出现此错误:

Port: Could not establish connection. Receiving end does not exist. 

但是,没有触发监听器,回调是(具有未定义的响应)。当我从sendMessage参数中省略回调(因此只传递一条消息)时,会按预期启动侦听器。

我无法弄清楚如何设置回调函数来工作。任何人吗?

1 个答案:

答案 0 :(得分:0)

当我将这两个函数添加到window-state示例Chrome 30.0.1599.22时,问题中的代码对我有用。