Home > 2009年12月

2009年12月

Context Menuから任意の関数を実行するJetpack Feature

Settings APIの練習を兼ねて
新しいJetpack Featureを作ってみました。

Mozilla Labs Jetpack - func :: jetpack

名前は「func」といいます。

機能はいたって単純で、
以下のように右クリックメニューから関数を実行できます。



実行する関数は、about:jetpackから設定します。
※ 反映されない場合はabout:jetpackを更新してみると良いかもしれません。



デフォルトではfunc1に、
「<a href="document.location.href">document.title</a>」を
clipboardへコピーする関数が設定されています。
(func2,func3は空)

また、ソース1行目のFUNCS変数を変更することで、
登録する関数の数を増やすこともできます。

以上、使い道はあんまりなさそうですが、
よければどうぞ。

参考にしたのは以下のサイトです。
ありがとうございます_ _

はてぶにブックマークを登録するJetpack Feature - まめ畑
Jetpack Settiongs JEPを使ってみた - まめ畑
短縮URLをクリップボードにコピーするJetpack書いた - やればできる子の日記

application.iniを編集する方法でFirefoxを複数起動するとJetpackが使えない

Macで複数のFirefoxを共存させる方法 - Affirmative Wayとかで紹介されてる方法。
便利なんだけど、3.5と3.6でJetpackをテストしようと思ったら、
about:jetpackのDevelopタブとかがNot Found的なものになって動かない・・・。

おそらく、jetpackはprofileが
/Users/<ユーザ名>/Library/Application\ Support/Firefox
にあることが前提なんだろうと思う。
(3年ぐらい拡張に触ってないから仕組みを忘れすぎてよくわからんけど。)

というわけで以下の方法でインストールしなおした。
ちょっと面倒だけど仕方ない。

FirefoxをダウンロードしてFirefox3.5.appとかにリネームしてアプリケーションに突っ込む。
で、以下のコマンドでProfileManagerを開く。

$ /Applications/Firefox3.5.app/Contents/MacOS/firefox-bin -P
SnowLeopardでprofile manager - import laziness

あとは、「今後このプロファイルを使用する」にチェックを入れて
新規プロファイルを別名で作成するだけ。

Firefox3.5をDockに入れれば複数起動環境の構築完了。

これでjetpackも動いてめでたしめでたし。

じゃ、なかった。(2009/12/23 23:05)
これじゃどっちもDefault User2で起動しちゃう。

UK STUDIO - MacでFirefoxのプロファイルの使い分けと別バージョンの同時起動をする
を参考に3.6をdefaultで3.5をDefault User2で開くアイコンを作成。

ふぅ、これで安心して暮らせる。

一応手順(シェル)載せときます↓

Firefox3.5起動用シェル(snow leopard対応)
#!/bin/sh
/Applications/Firefox3.5.app/Contents/MacOS/firefox-bin -P "Default User2" &
exit 0

Firefox3.6
#!/bin/sh
/Applications/Firefox.app/Contents/MacOS/firefox-bin -P "default" &
exit 0

これを[Mac OS X] シェルスクリプトとかの CUI アプリケーションを Mac OS X 方式の .app にする方法 [簡単 5 ステップ]
から落としたapp内のcore.shに貼りつければOK。

Jetpackのステッカーを勝手に作った

前も書きましたが、
最近の趣味はステッカー作りです。

今日はJetpackのを作ってPCに貼りました。



余白の設定をミスって端が切れたのは秘密です。
(EeePCに貼った方)

Mozilla勉強会@東京のLTで発表してきた

Mozilla 勉強会 « Mozilla Developer Street (modest)

時間オーバするわ、サンプルが地味にうまく動かんわ、
散々なスピーカーデビューでした。

そして何より、ディスプレイの変換ケーブルがないという大失態で、
主催者のdynamis様にご迷惑をかけてしまい、大変申し訳ありませんでした。

と、凹んでばかりもいられないので、次回以降のリベンジの為に、
JS(含むHTML5と拡張)とperlに励みたいと思います。

またどこかで発表できそうな場があったら積極的にエントリーしていきますので、
主催者の皆さん、断らないで下さいm(_ _)m

とりあえず、発表資料を公開しときます。

※ 会社に特定されるとめんどいので、本名は消してます。
 あと、参考スライドを追加してます。(忘れてました)

内容はW3C File APIの紹介です。。
まぁ、hacks.mozillaのデモの受け売りなんですけどね。

@teramakoさん
懇親会ではいろいろなお話を聞かせていただき、ありがとうございました。
(Webと遠そうな固い会社に勤めてるのが僕だけじゃなくて安心しました。)
jetpack installerがなければ僕のLT資料は完成しなかったことでしょう。

@con_mameさん
僕のjetpackもギャラリーに登録してみました。
これからもjetpack情報よろしくお願いします^^

@flysonさん
FileReader.readAsText()の第2引数で指定できます。
仕様には省略した場合はUTF-8で、と書いてあります。
が、試した限りブラウザが勝手に判断してくれてるようなので、
現状は指定なしがベストだと思ってます。
サンプル作ったのでよろしければ挙動を試してみてください。

よし、とりあえずこれで宿題は終わりかな。

・・・あ、ケーブルはもちろん速攻で注文しました。
(macbookについてないんですねー)

Mini DVIとかMini Displayportとかわかりにくい・・・。

File APIでチェックサム:2つのファイルをブラウザにdrag&dropしてMD5を比較する

引き続きHTML5 File APIにはまっています。
(W3C File APIって言った方が良いのかな?)

というわけで、こんなん作ってみました。

Comparer.js

ファイルを2個選択した状態でドラッグ&ドロップすれば、
MD5を比較して同一ファイルかどうかを判定します。

なんと、こんな簡単に複数のファイルも処理できちゃうんですねー!

Firefox 3.6でしか動かないのが悔しい・・・。
はやく他のブラウザも実装しないかなぁ。

Home > 2009年12月

Page Top