2008年02月22日

【Firefoxアドオン】Dog Ears改造日誌その2

3一筋の光明

さて前回、gBrowser.addProgressListener関数で躓いてしまいましたが、ネットを丹念に調べて解説してくれてるページを見つけました。

拡張機能の例: ページが切り替わったタイミングを知る(せりか式)


いや〜、もう俺のやりたいことそのまんまじゃないっすか。 有難いねえ。 で、ド素人の俺でもこのページで仕組みが分かったんで詳細は割愛w この後Dog Earsのスクリプトに何をすればいいかって言うと、
  1. "onLocationChange"関数の実装として、アイコンを切り替える関数を呼び出す。
  2. "onLocationChange"関数を含むリスナー関数群のリスト変数を定義する。
  3. Load関数内で、addProgressListener"関数を使ってリスナー関数リストを登録する。
  4. 同じくUnload関数内で、"removeProgressListener"関数を使ってリスナー関数リストを削除する。
うむ、見通しが立ってきたー。


4とりあえずどんなもんかね

細かい部分はさておき、この仕組みがちゃんと組み込めるかテスト。 Dog EarsでもTabooと同じく、アイコンに対するパラメータを真偽値で指定することで切り替えを実現しているので、"onLocationChange"関数に問答無用でアイコンが「マークありまへん」になるように書いてみました。 テスト用のFirefoxプロファイルを作りインストール。 タブを2つ開きそれぞれ別のページを読み込んでおきます。 タブAのページにマークを追加し、ツールバーアイコンを「マークありまっせ」の状態にセット。 そしてタブBに切り替え・・・・いやっほう!見事「マークありまへん」アイコンに変わった!!

るんるん気分で眠れるように、今日はここまでにしおこっと。

この様子をFlashで公開しようと思い、改造前後でキャプチャしてみて思わぬ発見。 使ってるキャプチャソフトは取り込んだものを1コマずつ確認・編集できるのですが、改造前のある1コマ、ちょうどタブを切り替えてもツールバーアイコンが変わらないよ〜っていう見せ場で、一瞬だけアイコンが変化していました。 この直前のエントリがそのFlashです。 シークバーを使ってうまくストップできれば、ご覧になれると思います。
え〜〜〜!前提総崩れ。 タブを切り替える=Location変化のイベントはハンドリングしてないと思ってたのに、しっかりやってるってことですよね。 う〜ん・・・またコードを良く見直さなくちゃ。 でも、やっぱ今日はここまでw

posted by Huwy at 20:44 | Comment(0) | TrackBack(0) | Firefoxアドオン | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]
2013/11/12現在、スパムコメント対策のため「コピー」という単語をブロックしています。

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック