firefoxで見てるサイトをワンキーでIEで開いたり、サイトのリンク付きタイトルをクリップボードに入れたりできるようにしてみた。

IEViewで、見ているサイトをIEで開けるのはすごく便利だけど、


ものぐさすぎてもはや
「右クリックしてコンテキストメニューを開く→このページをIEで開くをクリック」


という2ステップを踏むことすら面倒だったので、


「キーボードでiを押す。」


これだけで見ているサイトをIEで開けるようにしてみた。

前提

今回やったやり方は汎用的なというか対処療法的なというか・・、とりあえずfirefox拡張機能IEView」が入っていることが前提です。


あと、同じくfirefox拡張機能keyconfig」も入っていることが前提です。

やり方

Ctrl+Shift+F12を押してkeyconfigの設定画面を開く。

「新しいキーを追加」を押す。

まず名前は適当に、たとえば「IE View」とか。
で、

/* CODE */


となっているところに

IeView.ieView()


と書いて「OK」を押す。

ショートカットの一覧画面に戻ったところで「IE View」が選択された状態で、画面左下のテキストボックスにキーボードで「i」と押す。
そうするとテキストボックスが「I」となってるはず。

設定画面を閉じてfirefoxを再起動すると、キーボードで「i」と押しただけで見ているページをIEで開けるようになります。


このやり方は、拡張機能IE View」の中で定義されてるメソッドをまんま拝借するやり方。
拡張のファイルの中身をなんとなく眺めてこれかなあ?、という感じで探って見つけました。
このやり方はかなり対処療法的なやり方なので、同じくコンテキストメニューに機能が追加される拡張をワンキーで実行できるようにしたいときは同様の手法で探ることでその実体を見つけられるのでは。


WindowsXPだと、たとえば

C:\Documents and Settings\自分のユーザ名\Application Data\Mozilla\Firefox\Profiles\自分のプロファイル名\extensions


みたいなところに拡張のファイルが入ってるので、その中の各フォルダにある「chrome」フォルダの中に、


拡張名(ぽい名前).jar


みたいなファイルが入ってるのでこれをコピーしてどっかのフォルダに複製して、解凍する。
※jarはzip圧縮されたファイルの拡張子をjarにしただけのもの。


そして解凍してできたフォルダに「なんとかOverlay.xul」とか「なんとかOverlay.js」とかってファイルがあるのでそれをテキストエディタで開いてなんとなく眺めると

oncommand="なんとか()"

みたいな奴を見つけてこれかなあ、と試す、みたいな感じ。


いろいろ見たわけじゃないけど、見つけづらいのもありそう、てかcopyurl+はよくわからなかったので、以下のページを参考にして


ワンキーで、"ページのタイトルとURLをコピー" - AUSGANG SOFT


keyconfigに直接javascriptを記述して同様の機能を再現する、という手法で実現した。
※ちなみにショートカットはIMEはオフにしとかないと動かないので注意(ていうかだいたいそうか)。

見ているサイトのリンク付きタイトルをクリップボードに入れる機能を実現するサンプル
var w = window._content;
var d = w.document;
var txt = '<a href="' + d.location.href + '" title="' + d.title + '">' + d.title + '</a>';
const CLIPBOARD = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
CLIPBOARD.copyString(txt);


これで名前を「Create Link」とかにしてキーボードで「c」と押すだけでサイトのリンク付きタイトルをクリップボードに入れられるようにした。


あ〜、これはすごく楽!ブログ記事の生産性が数倍上がりそう♪