chrome访问浏览器的历史记录

问题描述:

我正在尝试通过带有弹出页面的浏览器操作来访问chrome浏览器的历史记录.

I'm trying to access my browser history in chrome, using a browser action with a popup page.

var histories = [];
var visits = [];

chrome.history.search({'text':'', 'maxResults':0}, function(historyItems){
    for(var h in historyItems){
        histories.push({'id': h.id, 'url':h.url});
    }
});

for(var h in histories){
    chrome.history.getVisits({'url': h.url, function(visitItems){
        for(var v in visitItems){
            var id = v.id;
            var visitId = v.visitId;
            var visitTime = v.visitTime;
            var referringVisitId = v.referringVisitId;
            var transition = v.transition;
            visits.push({'id': v.id, 'visitId': v.visitId, 'visitTime': v.visitTime, 'referringVisitId': v.referringVisitId, 'transition':v.transition});
        }
    });
}

console.log(histories.length + ' histories');
console.log(visits.length + ' visits');

结果,我得到234个历史记录和0次访问.我怎么会有一堆没有访问的页面? 我在做什么错了?

I get 234 histories and 0 visits as a result. How can I have a bunch of pages with no visits? What am I doing wrong?

问题是,这在webkit(chrome,safari e.a)内部不再起作用.它的缺失(遍历访问)修复了一个安全漏洞,该漏洞使访问过的链接公开到任何网站.通过一些随机的猜测,可以跟踪和描述访问者,这被认为是违反隐私的行为.

The problem is, this does not work anymore inside webkit (chrome, safari e.a). It's absence (traversing the visits) fixes a security-bug which exposes the visited links to any website. With some random guessing it was possible to track and profile visitors, which was considered a privacy-breach.