2011-12-27 19 views
3

我正在嘗試寫一個Chrome瀏覽器擴展程序,它可以搜索最近訪問特定網站的歷史記錄,並對它進行一些操作。我有點沮喪,似乎沒有辦法根據URL搜索Chrome的歷史記錄。如何使用Chrome瀏覽器的歷史記錄API來搜索與給定網址匹配的訪問?

我發現唯一的API,在http://code.google.com/chrome/extensions/history.html,列出只有一個搜索功能,與一個文本區域對所訪問的頁面的內容進行全文搜索。搜索http://sitename不會返回該網站的任何HistoryItem,而只是「sitename」返回提及相關網站的不相關結果。

因此,像這樣不返回任何結果:

chrome.history.search({text: 'http://stackoverflow.com', maxResults:10}, function(results) { console.log(results) }) 

但是像這樣的做法,但包括來自其他領域衆多的結果,而事實上,結果不包含單詞「stackoverflow.com」,但包含類似於他們的文字:

chrome.history.search({text: 'stackoverflow.com', maxResults:10}, function(results) { console.log(results) }) 

這是真的嗎?是否真的沒有辦法,例如,問鉻歷史服務「告訴我在stackoverflow.com上最後10頁面?」?

回答

3

目前沒有辦法做到這一點。歷史查詢最終由TextDatabase::GetTextMatches處理,並且不提供僅通過URL進行搜索的方式。您最好的選擇是將結果過濾到URL實際匹配的結果。例如processHistoryItems就是我的擴展。

+0

我想即使是一個'太糟糕'有時會得到一個複選標記。你的processHistoryItems函數的性能如何?歷史記錄是否被索引,以便像這樣進行掃描是高性能的? – bhuga

+0

您可以通過安裝擴展frmo https://chrome.google.com/webstore/detail/ohmcjnlhiaobipnkdonkcpomgkpgfdch(第一次安裝時顯示的頁面使用processHistoryItems)來親自查看它。在我的機器上,掃描整個數據庫需要幾秒鐘的時間。 –

+0

我決定把我的工作限制在最後一個月,並且就人類而言,它立刻奏效。我不敢嘗試它,所以謝謝你的迴應:) – bhuga

相關問題