案例1
我正在使用此代码段向我的后台页面发送请求,并收到消息
chrome.runtime.sendMessage({details: "Command1"}, function(response) {
console.log(response.farewell);
});
当它被称为独立时,这种方法非常有效。
这是我的背景页面代码,它响应请求: -
if(typeof(request.details) != "undefined"){
console.log("Detail Array was asked for !");
sendResponse({farewell: "Some Data here"});
console.log("Respo 1 sent");
}
正如预期的那样,在调用详细信息:来自内容脚本页面的command1时,我得到了预期的输出"这里的一些数据",回到我的内容脚本中
案例2
我正在尝试将此概括为一些请求,因此,我对内容脚本进行了更改,如下所示: -
function sendMessage(toSendKey, toSendVal, funcName){
chrome.runtime.sendMessage({toSendKey: toSendVal}, function(response) {
console.log("Response received");
respoObt = response.farewell;
console.log(respoObt);
funcName(respoObt);
});
}
function doNothing(data){
console.log(data);
}
sendMessage("details", "Command1", doNothing);
现在在使用适当的参数调用函数时,我可以在我的后台页面中看到两个控制台日志("详细数组被要求!"," Respo 1已发送") ,确认请求已到达,但是,发回的响应无法访问内容脚本页面。
可能的罪魁祸首是什么?我错过了什么吗?