0

我一直在尝试在后台页面发送搜索历史并将响应发送回首页。我正在使用消息解析。搜索历史记录后,我无法发回回复。

---------background.js-------------

var SECONDS_PER_WEEK = 1000 * 60 * 60 * 24 * 7;

chrome.extension.onMessage.addListener(
 function(request, sender, sendResponse) {
    if(request === "getHistory"){
        var value = getHistory();
        console.log("Response" , value);
        sendResponse(value);    
} 
}

);

function getHistory(){
var current_time = new Date().getTime();
var timeToFetch = current_time - SECONDS_PER_WEEK;
return chrome.history.search({
        'text' : '',
        'startTime' : timeToFetch
    },
    function(resp){
        return resp;
});

}

问题本身就在这里,因为在记录时我得到“未定义”作为响应。谁能指导我解决问题

4

1 回答 1

0

大多数Chrome.*API 函数都是异步的,因此请尝试这样做:

背景.js

var SECONDS_PER_WEEK = 1000 * 60 * 60 * 24 * 7;

chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
  if(request === "getHistory"){
    getHistory(sendResponse);
    return true;
  } 
});

function getHistory(sendResponse){
  var current_time = new Date().getTime();
  var timeToFetch = current_time - SECONDS_PER_WEEK;
  chrome.history.search({
    'text' : '',
    'startTime' : timeToFetch
  },
  function(resp){
    console.log("Response: " + resp);
    sendResponse(resp);
  });
}
于 2013-03-24T18:26:11.527 回答