【发布时间】:2014-03-16 21:44:59
【问题描述】:
我在从 background.js 页面向 content.js 页面发送响应时遇到问题。
在我的 content.js 页面上,我有:
chrome.runtime.sendMessage({auth: 'test'}, function(response){
console.log(response.auth);
});
在我的 background.js 页面上,我有:
chrome.runtime.onMessage.addListener(function(request,sender,sendResponse){
if(request.addressToCopy){
copy(request.addressToCopy);
}
if(request.auth == 'test'){
chrome.storage.local.get(['access_token', 'refresh_token'], function(results){
$.get('https://coinbase.com/api/v1/account/balance', {access_token: results['access_token']}, function(data){
sendResponse({auth: 'pass!'});
}).fail(function(){
sendResponse({auth: 'fail!'});
});
});
}
});
我的问题是:sendResponse 在上面的代码中不起作用。我不会得到任何错误,只是 content.js 不会 console.log 任何东西。如果我将 sendResponse 放在 if 语句之外(因此它直接是 onMessage.addListener 的子项)它可以工作,我的 content.js 脚本将输出“通过”或“失败”。但它不会像我一样工作。这是为什么呢?
【问题讨论】:
标签: jquery ajax google-chrome-extension