我想收集我过去的N个历史项目,然后找到我访问该页面的所有时间的时间戳,直到我的Chrome历史记录包含。
Chrome.history.search允许我获取我最近N个历史项目的网址。
但是,如果我现在在每个网址上调用Chrome.history.getVisits,有些会返回“[]”,即使它们存在于我的历史记录中。此外,在chrome:// history中搜索URL会正确返回该项,即使getVisits调用返回[]。
还有一个小问题,这似乎是我历史上的一个问题。我的前50个项目都返回一个正确的[对象],但在那之后,几乎所有(看起来像90%+)都是空集[]。
下图显示了API调用返回[],而历史记录正确显示了结果。
答案 0 :(得分:0)
通过查看扩展样本here,修复方法如下。你需要一个闭包来将url绑定到回调的args(chrome.history.getVisits()函数的回调)以使其工作。
function loadUrlVisits(url){
var processVisitsWithUrl = function(url) {
// We need the url of the visited item to process the visit.
// Use a closure to bind the url into the callback's args.
return function(visitItems) {
processVisits(url, visitItems);
};
};
chrome.history.getVisits({url: url}, processVisitsWithUrl(url));
}
function processVisits(url, visitItems){
//process visit items here...
}

可以找到样本的参考扩展名here。