我已经从内容脚本发送了请求,并成功从后台页面收到了响应。现在,我想在内容脚本中设置一个变量-基于响应。那就是我遇到麻烦的地方。应该足够简单...。我想我一定是语法错误。这是我的内容脚本中的内容:
chrome.extension.sendRequest({greeting: "hello"}, function(response) {
console.log(response.farewell);
if (response.farewell == "goodbye") {
wasPolite = "yes";
}
else if (response.farewell == "goaway") {
wasPolite = "no";
}
else {
wasPolite = "maybe";
}
});
alert(wasPolite);
控制台显示
goaway
作为响应,但wasPoite
仍未定义。 最佳答案
如果您定义:
var wasPolite = '';
之前:
chrome.extension....
并且它仍然没有警告正确的值,然后我问chrome.extension.sendRequest()函数是否异步?如果是这样,您可能在请求有时间回调之前提醒wasPolite。 @Ruup可能在轨道上,表明wasPolite仅在sendRequest实际上完成后才具有其值,从而触发回调