Home > Latest topics

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

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

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

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

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

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

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

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

分類:Mozilla > 拡張機能 > xulmigemo, , , , , , 時刻:17:16 | Comments/Trackbacks (5) | Edit

Comments/Trackbacks

no title

document.getElementById("hoge").contentDocument.designMode="on"
以外でリッチテキストエリアを実現する方法ってありましたっけ?
この問題は前から認識していましたし、Bagelでも再現しますが(http://www.mozilla.org/editor/midasdemo/)、
GMailアカウントが無いためどのような実装なのか検証できず…。

Commented by plus7 at 2006/04/05 (Wed) 19:02:31

no title

http://lxr.mozilla.org/seamonkey/source/extensions/typeaheadfind/src/nsTypeAheadFind.cpp#2876
ちなみに、旧TypeAheadFindではここで回避されていますよね。

Commented by plus7 at 2006/04/05 (Wed) 19:09:20

おわ

情けないことに全然知りませんでした<designModeという機能
確かに、ちゃんと見てみたら、Gmailもこれを使ってました。
なるほど、こうやって実現してたのか……てっきりAjax IMEばりのバッドノウハウの塊なのかとばかり思ってました。
これなら対処は可能ぽ?

Commented by Piro at 2006/04/05 (Wed) 20:30:32

というわけで

やってみたらあっさりできました。
帰ったら更新します。

Commented by Piro at 2006/04/05 (Wed) 21:58:40

ありがとぅ

うちのmozlessも同じ問題で
Gmail使う人から文句来てたのですが、
ここ参考にして解決できそぅです。

どうもありがとぅ。

Commented by harpy at 2006/08/28 (Mon) 15:27:02

TrackBack ping me at


の末尾に2020年11月30日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「2006-04-05_richtextarea.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

最近のコメント

最近のつぶやき