Home > Latest topics

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

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

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

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

リッチテキストエリアで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


の末尾に2014年1月19日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「2006-04-05_richtextarea.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 ブラウザ無料ダウンロード