4

初めて Google Chrome 拡張機能を開発することを考えています。これまでの経験はありません。私が考えている拡張機能は、ユーザーの閲覧履歴を見て、特定の Web サイトまたはその Web サイト内の任意のサブディレクトリにアクセスした最初のインスタンスの 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 に答える