4

我正在考虑第一次开发 Google Chrome 扩展程序;没有以前的经验。我想到的扩展程序必须能够查看用户的浏览历史记录并提供他们访问某个网站或该网站内任何子目录的最早实例的 URL。

例如,用户的浏览历史可能是:

8:58 - http://mysite.com/page/page1.html
8:59 - http://mysite.com/test/index.php
9:00 - http://google.com
9:01 - http://google.com/?q=mysite
9:03 - http://mysite.com/this/info.html
9:04 - http://mysite.com/this/info2.html
9:05 - http://mysite.com/this/info3.html
9:06 - http://facebook.com

在这种情况下,假设应用程序正在寻找访问http://mysite.com或任何子目录的实例。(这将在扩展程序代码本身中指定;它不是由用户设置的。)扩展程序将查找最近访问http://mysite.com的“组” ,在这种情况下是:

9:03 - http://mysite.com/this/info.html
9:04 - http://mysite.com/this/info2.html
9:05 - http://mysite.com/this/info3.html

从该组中,它将选择最早的条目,并显示该 URL,在本例中为:

9:03 - http://mysite.com/this/info.html

一直在查看 Google 关于在扩展中使用历史记录的文档(http://developer.chrome.com/extensions/history.html),但我认为我正在寻找的不是那个文档页面......

想知道是否有人可以推动我朝着正确的方向前进?

谢谢!

4

3 回答 3

3

此处列出了您的扩展程序可用的任何历史记录功能:http: //developer.chrome.com/extensions/history.html

如果不是,您将无法访问它们。没有用于 chrome 扩展的未记录历史 API。

你可能想做这样的事情:

var siteToSearch = 'facebook.com';
chrome.history.search({text: siteToSearch, callback: function(results) {
    //Iterate through the `results` array of `HistoryItem` objects
    //Look for lowest value of `lastVisitTime` OR call `chrome.history.getVisits` with
    //`results[i].url` and then check the returned `VisitItem` for the `visitTime` property
}})

您可能希望使用正则表达式将您正在搜索的站点的 URL 与浏览器历史记录中的结果进行匹配。

于 2013-01-10T16:15:36.333 回答
1

谷歌似乎在这个链接上移动了文档

并且可以通过执行以下操作来使用旧答案中包含的代码段:

const siteToSearch = 'facebook.com';
chrome.history.search({text: siteToSearch}, callback: function(results) {
    //Iterate through the `results` array of `HistoryItem` objects
    //Look for lowest value of `lastVisitTime` OR call `chrome.history.getVisits` with
    //`results[i].url` and then check the returned `VisitItem` for the `visitTime` property
}})
于 2021-07-30T14:55:00.880 回答
0

你可以尝试在github中引用这个chrome扩展,它允许你使用浏览器地址栏搜索关键字,它会自动搜索你的浏览器历史并给你建议

github - 历史作为书签

Chrome 网上商店 - 历史记录作为书签

于 2022-01-15T02:23:49.493 回答