Apr 05, 2006

リッチテキストエリアでXUL/Migemoが反応してしまう問題

GmailのHTMLメール編集モードなどで使われているリッチテキストエリアは、HTMLのフォーム部品を使わず、JavaScriptでキーイベントを捕捉して諸々の処理を行うことで実現されている。

実はFirefoxでtextareaなどのフォーム部品でも内部的には同じ事をやっているのだけれども、XULアプリケーションの開発程度までのレベルでは、このあたりの処理はほぼ完全に隠蔽されているので、ユーザも開発者もこの実装の事を意識する必要はない。

でもGmailのような普通のWebページでこれをやられてしまうと、困ったことになる。入力がリッチテキストエリアの中で行われた物なのか、それとも他の部分で行われた物なのか、判別ができないのだ。しかも、サイトによってリッチテキストエリアの実装方法が違うので、それいっこ書いておけばどんなサイトでもきちんとリッチテキストエリアを検出できる!というようなコードを書くことは非常に難しいと考えられる。

Rewind/Fastforward ButtonsのようにXPath式をサイトごとに登録しておけるようにするとか、いくつか方法は考えられるけど、どれも面倒だなあ……

追記。この件、修正できました。

エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能