我在事件点击上写了一个函数,如下所示
$('#ClickMe').live('click', function () {
chrome.extension.sendRequest({ method: "getT" }, function (response) {
alert(response.data); // Displaying undefined..
});
});
在后台页面..
function wish(){
return "Hey...";
}
chrome.extension.onRequest.addListener(function(request, sender, sendResponse){
if (request.method == "getT"){
sendResponse({data: wish()});
}
else
sendResponse({});
});
我无法在内容脚本中获得响应。请帮助我。
答案 0 :(得分:1)
你不能在JSON对象中发送你需要首先实例化它的函数参数,然后将它作为变量传递而不是作为函数传递,因为它会将它作为Closure处理,所以当它进行序列化时,它不包括那个。
function wish(){
return "Hey...";
}
chrome.extension.onRequest.addListener(function(request, sender, sendResponse){
if (request.method == "getT"){
var data = wish();
sendResponse({data: data});
}
else
sendResponse({});
});
以上代码段应该有效。