2011-12-27 6 views
3

私は特定のサイトへの最近の訪問の履歴を検索し、それを使って何かを行う小さなクロムエクステンションを作成しようとしています。 URLに基​​づいてChromeの履歴を検索する方法がないように思えるのはちょっと心配です。Chromeの履歴APIを使用して、指定したURLに一致する訪問を検索するにはどうすればよいですか?

私が見つける唯一の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でvisistedされた最後の10ページを教えてください」と尋ねる方法はありませんか?

答えて

3

現在、これを行う方法はありません。履歴クエリはTextDatabase::GetTextMatchesによって処理されて終了し、URLのみを検索する方法はありません。あなたの最善の策は、URLが実際に一致するものに結果を絞り込むことです。その一例については、延長の中のprocessHistoryItemsを参照してください。

+0

私は「あまりにも悪い」でも時々チェックマークが付くと思います。あなたのprocessHistoryItems関数のパフォーマンスはどうですか?履歴は索引付けされているので、そのようなすべてをスキャンするとパフォーマンスが向上しますか? – bhuga

+0

拡張機能frmo https://chrome.google.com/webstore/detail/ohmcjnlhiaobipnkdonkcpomgkpgfdch(最初にインストールしたときに表示されるページはprocessHistoryItemsを使用します)をインストールすることで、自分自身で確認できます。私のマシンでは、データベース全体をスキャンするのに数秒かかります。 –

+0

私は最後の月に鉱山を制限することに決めた、それは人間が懸念している限り、即座に動作します。私はそれを試してみたいではないでしょう、応答のためにありがとう:) – bhuga

関連する問題