[userChrome.js] 検索バーのポップアップから検索エンジンを中クリックしてクリップボードの文字列を検索する

日々のブラウジング中での Firefox の検索バーの使い方というのは人それぞれ異なるものだと思うが、自分の場合は以下の2通りに大別される。

  • たいていの検索は Google を使用する。
    その方法は、検索バーに直接入力してEnterキー、またはWebページ中のキーワードを選択して右クリックメニューから検索のどちらかである。
  • ごくたまに Amazon などの異なるエンジンを使用して検索する。
    その手順は、Webページ中のキーワードを選択してコピー→検索バーへ貼り付け→検索バーのポップアップから検索エンジンを切り替え→虫眼鏡アイコンをクリック、という煩雑なものである。しかも、たいていの場合切り替えたエンジン(ここでは Amazon)では一度しか検索を行わず、次からはまた Google を使用するため、検索エンジンが切り替わってしまうのが嫌。

そこで思いついた便利な機能が、検索バーのポップアップから目的の検索エンジンを中クリックすることによって、クリップボードの文字列をそのエンジンで検索するという機能である。これなら検索エンジンを切り替える必要なく検索が行える。
前の記事同様、 userChrome.js によって使用可能なスクリプトとして実装した。ただし、Firefox 2.0 限定です。
スクリプトの内容としては、検索バーのポップアップの中クリック時に以下のような流れで処理が行われる。

  1. クリップボード内の文字列を取得
  2. クリックされた検索エンジンの menuitem 要素の engine プロパティから、 nsISearchEngine を取得
  3. nsISearchEngine から、送信先URLやPOSTするデータを取得
  4. 検索結果を新しいタブで開くかどうかの設定値を取得
  5. ブラウザのタブでロードする
  6. ポップアップを閉じる


10月26日追記
少し改良しました。詳しくはこちら:
[userChrome.js] Search Clipboard

TOP

TOP