我一直在尝试在后台页面中发送搜索记录,并将响应发送回首页。我正在使用消息解析。 搜索历史记录后,我无法发送回复。
-------- ------------- 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;
});
}
问题在于它本身就像在记录中我得到'未定义'作为响应。 任何人都可以指导我解决方案
答案 0 :(得分:0)
大多数Chrome.*
API函数都是异步的,所以尝试这样做:
<强> background.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);
});
}