Google chrome extension 双向通信在Chrome扩展中返回错误
我正在尝试在Google chrome extension 双向通信在Chrome扩展中返回错误,google-chrome-extension,Google Chrome Extension,我正在尝试在contentscript和background script之间发送消息,如下所示 ContentScript.js Background.js 错误 无法发送响应:如果要在侦听器返回后发送响应,chrome.runtime.onMessage侦听器必须返回true 如何解决此问题?这应该可以解决: chrome.extension.onMessage.addListener(function(request, sender, sendResponse) { ...
contentscript
和background script
之间发送消息,如下所示
ContentScript.js
Background.js
错误无法发送响应:如果要在侦听器返回后发送响应,chrome.runtime.onMessage侦听器必须返回true 如何解决此问题?这应该可以解决:
chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
...
return true; //Important
});
在您的案例中,您忘记在第二个
案例中添加返回值
您是否尝试过在第二个案例中添加返回真值
,如错误消息所示?@apsillers是的,工作正常。我必须在两个地方写上return true,但我只在一个地方写了。。这就是问题所在。谢谢你指出。请你把它作为答案贴出来,这样我就可以接受了。
chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
switch(request.type){
case "some":
sendResponse({ data : "Some Response" });
return true;
break;
case "someOther":
// Here I am getting an error. Error is given below
sendResponse({ data : "Some Response" });
break;
}
});
chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
...
return true; //Important
});