FireGesturesのスクリプト紹介(3)

FireGesturesのポップアップ機能を利用して、「選択したサイトへ移動する」スクリプトを作りました。
ジェスチャを実行するとあらかじめ設定したリンクがポップアップ表示されて、移動先を選択するというもの。
ただこれだけではブックマークから移動するより若干速い?程度。しかも登録作業が面倒。
そこで、「範囲選択してからジェスチャすると移動先でその語句を検索してくれる」機能を追加しました。
これなら実用性もあるのでは。

↓↓↓こんな感じ


↓以下スクリプト
const URLs = [
["Wikipedia","http://ja.wikipedia.org/wiki/","http://ja.wikipedia.org/wiki/special:search/",""], //記述例
["excite翻訳","http://www.excite.co.jp/world/","",""], //検索用アドレスを設定しない場合
];
var pop=URLs.map(function(element){
var name=element[0];
var str = FireGestures.getSelectedText();
if(str&&(element[2]!="")){
var URL = element[2] + encodeURI(str) + element[3];
}else{
var URL = element[1];
}
return{
label: name,
oncommand: "gBrowser.loadOneTab('" + URL + "', null, null, null, false, false);",
style: "font-weight:bold;",
};});
FireGestures.generatePopup(event, pop);

URLsの部分は["表示名","アドレス","検索用1","検索用2"]というように記述します。
リンクの数は好きなだけ増やせます。
検索機能は、検索するときのアドレスが基本的に
"http://***/"+"検索語句"+"/***/" となっていることを利用しています。
検索用1は検索語句より前の部分、検索用2は検索語句より後の部分です。

文字コードの関係で日本語の検索が上手くいかない可能性もあります。
サイトによっては9行目のencodeURI()を外すと検索できる場合もあるみたいです。