【发布时间】:2017-07-18 20:05:16
【问题描述】:
我面临的问题很有趣。我已经在后台和弹出窗口之间建立了通信,它工作得非常好,直到我尝试访问 chrome.tabs.query 回调中的数据。
您能否告知可能出了什么问题?
background.js
chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.greeting === 'getTabs') {
chrome.tabs.query({},function(tabs){
sendResponse(tabs);
});
}
if (request.greeting === 'test') {
sendResponse('test-string');
}
});
popup.js
$(document).ready(function(){
$('button').on('click', function(){
chrome.extension.sendMessage({greeting: 'getTabs'}, function(response){
console.log(response);
});
chrome.extension.sendMessage({greeting: 'test'}, function(response){
console.log(response);
});
});
});
我调试了 background.js 部分,得到了选项卡的排列,但由于某种原因,它没有作为响应发送,即使 sendResponse(tabs) 在回调函数中。另外,如果我设置一个静态字符串,比如'apple',它也不会发送它。
【问题讨论】:
标签: javascript google-chrome-extension