如何在Chrome扩展程序中使用历史记录API获取浏览记录?

22

如何使用chrome.history API获取最近访问标签页的URL,特别是最近访问的10个URL?

2个回答

33
将空字符串作为您的查询传递给chrome.history API的search()方法。例如,这将在控制台中记录最近访问的10个URL。
chrome.history.search({text: '', maxResults: 10}, function(data) {
    data.forEach(function(page) {
        console.log(page.url);
    });
});

5
chrome.history现在返回undefined。 - Rob
是的,因此问题标题为“如何使用Chrome扩展中的历史记录API获取浏览历史记录” - Chris
4
Rob,我认为你需要在扩展程序的manifest.json文件中声明"permissions": ["history"],以便访问历史记录API。 - Eli Mashiah

7

您需要添加:

"permissions": [
      "history"
    ],

在扩展程序的 manifest.json 文件中,您可以添加以下内容,然后您的代码可以如下所示:

chrome.history.search({
  'text': '',               // Return every history item....
  'startTime': oneWeekAgo,  // that was accessed less than one week ago.
  'maxResults': 100         // Optionally state a limit
},
function(historyItems) {
  // For each history item, get details on all visits.
  for (var i = 0; i < historyItems.length; ++i) {
    var url = historyItems[i].url;
     // do whatever you want with this visited url
  }
 }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接