Home > Latest topics

Latest topics > XUL/Migemo [Forked Edition] 0.6.6

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

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


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

Post a comment

writeback message: Ready to post a comment.

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

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のコメント

最近のつぶやき