LoginSignup
30
30

More than 5 years have passed since last update.

Chrome拡張機能「Falcon」でWeb閲覧履歴をサクッと検索

Last updated at Posted at 2016-09-19

Kobito.PQCRbf.png

GitHubでトレンド入りしていたChrome拡張機能Falconの紹介記事です。

特徴としては Webサイトの中身まで検索対象とするところです。
この前見た○○の記事どこだっけか、みたいな探し方をする人にはとても良い拡張機能だと思います。

※執筆時点(2016/09/19)のバージョンはv0.1.4です。

使い方

まずはインストールしましょう。
https://chrome.google.com/webstore/detail/falcon/mmifbbohghecjloeklpbinkjpbplfalb

インストールが終わったら
適当にWebサイトを巡回しましょう。

ブラウザのオムニボックス(アドレスバー)に
「f 検索したい文字列」を入れます。

以下はReactで検索した例です。

Kobito.N8sEOD.png


「URL 日付 タイトル」の形式で履歴から検索&表示されます。

Kobito.0J7qKh.png

オプション

デフォルトは現在から2週間以内に閲覧したWebサイトを対象に検索するようです。

オプションで期間の指定や除外などもいけるみたいです。
詳細は公式サイトを参照してください。

技術解説

どうやってインデックス貼ってるのかと思ってソースを見ていたのですがとてもシンプルでした。

Webサイトを開いたときの処理

  1. Webサイトを開いた日時をキーにする
  2. サイト中の検索対象とする単語を抽出して、スペース区切りで1つの文字列にする
  3. 上記の文字列をキーに対する値とする
  4. chrome.storageに上記のキーバリューを保存する

※銀行系のサイトはブラックリストとして定義してあって一応除外しているようです。
https://github.com/lengstrom/falcon/blob/master/extension/js/blacklist2.js

検索するときの処理

  1. 2週間分(デフォルト検索の場合)のキーを取得する
  2. キーに対する値からindexOfで検索語の存在をチェックする

単純に文字列を含んでいるかをチェックしているだけでした。
データが少ない場合は、十分なのかもしれません。

その他

オムニボックスの検索は拡張機能に限定されているわけではありません。
OpenSearchで標準化されています。
Qiitaは対応されているのでChromeの検索エンジンの設定画面を開くと自動で登録されていることが確認できます。
Kobito.a5TKN9.png

qiita.comなんて打つのは面倒なので「q」とかで登録しなおすのがおすすめです。

またQiitaの上のAlcは英単語を検索可能なWebサイトです。
OpenSearchに対応していないサイトですが筆者が自分で登録したものです。
URLでアクセス出来るサイトなら自由に登録できるので検索の効率化に繋がります。

検索機能のあるWebサービスを作ったらOpenSearch対応すると良いです。
最低でもqパラメータなどを用意して検索できるようにしましょう。

あとがき

検索用のキーバリューを保存しているchrome.storageは暗号化されているわけではないです。
※ユーザーのExtensionの保存ディレクトリを見れば普通に見えます。

漏れたら本当にまずい情報を扱う人はインストールしない方がいいです。
そういう方は拡張機能自体使ってないと思いますが念のため。

30
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
30