FirefoxのアドオンのDevoが便利過ぎる件

LDRでFeedを眺めていたら旧・Macの手書き説明書 - FC2 BLOG パスワード認証という記事を発見。
説明に従ってインストールして好感触、自分でもJavascriptで拡張可能との事で色々試してみました。

試しに

    alert("hoge");

でメッセージボックスを表示した。

いま見ているWikipediaのタイトルとurlをTwitterのテキストボックスに差し込む

  • その1 タイトルを表示
alert(document.title);

問題無し

  • その2 ページのurlを表示
alert(location.href);

上手く取得できない

chrome://browser/content/browser.xul

もちろんこれでもNG

alert(document.location.href);

色々調べた結果

alert(window.content.document.location.href);

だと上手く取得出来る

  • その3 twitterのページに差し込む
devo_twitter(document.title + " " + window.content.document.location.href);

クジラが釣れてしまう
エンコードしてないから?と思って

devo_twitter(encodeURIComponent(document.title) + " " + window.content.document.location.href);

Twitterのページで文字化けに
よくよく調べてみると

function devo_twitter(status){
    
     devo_newTab("http://twitter.com/home?status=" + escape(status.toString()));
}

これじゃ化けるのは当たり前

devo_newTab("http://twitter.com/home?status="document.title + " " + window.content.document.location.href);
  • 完成系

Keyword(ユニークであれば適当に)

wt

Parameters(〃)

text(optional)

Description(〃)

Code

if (devo_param) {
    devo_newTab("http://twitter.com/home?status="
              + "調べてた:" + document.title + " "
              + devo_param + " " + window.content.document.location.href);
} else {
    devo_newTab("http://twitter.com/home?status="
              + "調べてた:" + document.title  + " "
              + window.content.document.location.href);
}

おまけ

  • 検索エンジンの追加なら全然簡単
    • 任意のユーザIDのふぁぼったーを表示

Keyword(ユニークであれば適当に)

favotter

Parameters(〃)

user id

Description(〃)

Code

devo_newTab("http://favotter.matope.com/user.php?user=" + devo_param)

Shift+x,f,tab,ユーザID,returnで表示

    • CPANモジュールを探す

Keyword(ユニークであれば適当に)

cpan

Parameters(〃)

module

Description(〃)

Code

devo_newTab("http://search.cpan.org/search?module=" + devo_param)

Shift+x,c,tab,モジュール名,returnで表示
ね、かんたんでしょ