あらかじめ日記

雑記とかブログで使えるスクリプトとかテクニックとか。その他、音楽やアニメ、漫画の話題とかも。

【Firefox】FireGestruesのおすすめスクリプト【アドオン】(Google検索の小ネタも)

f:id:allthewayfrom:20150318231812j:plain

 

以前、「無いと困る、Firefoxのおすすめアドオン!」で、マウスジェスチャーを可能にするアドオン、「FireGestrues」を紹介しましたが、今回はそのスクリプトについて紹介したいと思います。

 
FireGesturesは、なんとスクリプトをジェスチャーに割り当てることも出来ます。

方法は設定画面の下の方にある「ユーザースクリプト」にスクリプトを登録し、ジェスチャーを割り当てます。


と、言っても何を入れて良いか分からないと思いますので、個人的に入れているスクリプトを紹介します。


まず、とっても簡単なところだと、

コピー

goDoCommand("cmd_copy");


貼り付け

goDoCommand("cmd_paste");

 

f:id:allthewayfrom:20150320212612p:plain



これを↑のように設定して、後は名前と、ジェスチャーを決めるだけ。

これを登録しておけば、コピー/貼り付けもジェスチャー動作でできてしまう訳です。



それ以外で、導入しているのはこんなところになります。

それ以上戻れない場合は、タブを閉じる
それ以上進めない場合は、タブを復帰する
フレーズ検索するために""で囲う

 

 

それ以上戻れない場合は、タブを閉じる


ジェスチャーに「戻る」を割り当てることはできますが、
それ以上戻れない時は、タブを閉じたい、そう思ったことは無いでしょうか?

戻れないのに気づかず、何度も空振りジェスチャーをしてやっと気づく、、と言うこともしばしば。

そんなケースもスクリプトで対応できます。

このスクリプトを、既定で用意されている「戻る」の代わりにジェスチャーに割り当てればOKです。

if(gBrowser.canGoBack){
    gBrowser.goBack();
}
else{
    gBrowser.removeCurrentTab();
}


これもさほど難しくは無く、基本は用意されているブラウザオブジェクトのメソッドをそのまま実行しているだけで、それ以上戻れない場合は、タブを削除すると言う処理にしているだけですね。

 

 

それ以上進めない場合は、タブを復帰する

もちろん、その逆もできます。

※ただし、これは単純に最後に開いたタブを戻しているだけで厳密には“そのページで最後に開いたタブ”ではないので留意ください。

if(gBrowser.canGoForward){
    gBrowser.goForward();
}
else{
    document.getElementById("History:UndoCloseTab").doCommand();
}

 

 

フレーズ検索するために""で囲う


まず始めに、Google検索の小ネタから…

Googleは検索ワードにフレーズ検索と言うものが使えます。

Googleは入力した検索ワードで、長い文字列を単語単位で分けて検索したり、重要度の低いものを除いて検索したりしますが、それを、完全一致で検索条件とするのがフレーズ検索で、対象にしたい検索ワードを「"」(ダブルコーテーション)で囲むだけ。

例えば、単に「google検索」として検索すると、google「検索」を分けて検索したり、重要でないとGoogleが判断した方の単語を無視して検索したりしますが、

"google検索"」とすれば、確実に「google検索」と言う条件にヒットするページを検索してくれます。
(これ、知っていると結構重宝します)


このスクリプトの利用シーンとしますと、サイト内に検索したい文字があって、それをコンテキストメニュや、検索窓にドラッグして検索。

検索結果がイマイチで、フレーズ検索にしてさらに絞り込みたい、、という時ですね。

Googleページの検索ボックスにある文字で、フレーズ検索したい(""で囲みたい)ワードを選択し、ジェスチャーを実行して、再検索、と言う流れになります。
(ジェスチャーは検索ボックス上で実行してください)

これなら、いちいちキーボードに触らなくてOKになるので、できる限りキーボードには手を伸ばしたくない人向け!

goDoCommand("cmd_copy");

var str = "\"";
var cmd = "cmd_insertText";
var ctrl = document.commandDispatcher.getControllerForCommand(cmd);

if (!ctrl || !ctrl.isCommandEnabled(cmd))
  throw "Get control error.";
ctrl = ctrl.QueryInterface(Ci.nsICommandController);
var params = Cc["@mozilla.org/embedcomp/command-params;1"]
             .createInstance(Ci.nsICommandParams);
params.setStringValue("state_data", str);
ctrl.doCommandWithParams(cmd, params);

goDoCommand("cmd_paste");

params.setStringValue("state_data", str);
ctrl.doCommandWithParams(cmd, params);


スクリプトの内容自体は、結構単純でして選択内容をコピーして「"」挿入、選択内容貼り付け、「"」挿入を行っているだけです。

 

是非お試しください。マウスジェスチャーがさらに便利になりますよ!