Home > Latest topics

Latest topics > XUL/Migemo [Forked Edition] 0.6.6

宣伝1。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

宣伝2。Firefox Hacks Rebooted発売中。本書の1/3を使って、再起動不要なアドオンの作り方のテクニックや非同期処理の効率のいい書き方などを解説しています。既刊のFirefox 3 Hacks拡張機能開発チュートリアルと併せてどうぞ。

Firefox Hacks Rebooted ―Mozillaテクノロジ徹底活用テクニック
浅井 智也 池田 譲治 小山田 昌史 五味渕 大賀 下田 洋志 寺田 真 松澤 太郎
オライリージャパン

XUL/Migemo [Forked Edition] 0.6.6 - Jun 27, 2007

XUL/Migemo勝手改造版0.6.6にて、Safari風ハイライトのもう一つの要の、ヒット箇所のアニメーションを実装してみた。アニメーション処理そのものはたいしたことなかった(そして動作はかなり不格好)んだけど、別の所でだいぶ手こずった。

というのも、Firefoxではページ内のすべてのヒット箇所を強調表示する際に、WebページのDOMツリーをかなり激しく切った貼ったするせいで、せっかく検索でヒットした箇所が選択範囲になっても、その選択が吹っ飛んでしまうんだな。

というわけで、仕方がないから、ヒット箇所の強調表示を行う処理の前後に割り込んで、選択範囲があった場合はそれを自動的に復元するようにした。

ヒット箇所が要素ノードの子のテキストノード全体なら簡単なんだけど、テキストノードの一部だけがヒットしたといった場合に選択範囲を復元できないということで、だいぶ悩んだ。色々試してみた結果分かったのは、選択範囲が含まれているテキストノード(を含む要素ノード)に対してElementNode.normalize()を実行すると、選択範囲が消えてしまうという事実。これもまた仕方がないので、テキストノードが連続している時などはノーマライズされた後の位置を割り出すようにしておいた。

という風な事を何時間もかけてやっていたんだけれども、そのうちすぐに陳腐化しちゃうのかなーと思うと切ないものだ。

分類:Mozilla > 拡張機能 > xulmigemo, , , , , 時刻:02:58 | Comments/Trackbacks (0) | Edit

Comments/Trackbacks

TrackBack ping me at


の末尾に2014年1月19日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「2007-06-27_highlight.trackbacknoda」です。これは機械的なトラックバックスパムを防止するための措置です。

Post a comment

writeback message: Ready to post a comment.

2014年1月19日時点の日本の首相のファミリーネーム(ひらがなで回答)

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のつぶやき

オススメ

Mozilla Firefox ブラウザ無料ダウンロード