WYSIWYGエディタ
バリアフリーグルメ情報検索Quuzu.jpのtextareaをWYSIWYGにしたいなと思っていたので、少し検討中。まだ本番環境には適用していないけどいろいろメモ。
ある程度メジャーなWYSIWYGエディタを見ているとTinyMCE、FCKeditor、openWYSIWYG、nicEditなどがいろんなところで紹介されていました。
ひととおりダウンロードして内容をチェックしてみて結論から行くと、今のところはnicEditがいいかなと考えている。以下、nicEditを選択した理由をば。
選択理由
nicEdit
http://nicedit.com/
軽量!特にアイコン画像が1枚のGIFだけで収まっている(クライアントサイドだけで必要な部分だけを表示している)ことや、JSも1ファイルのみ。
safariサポート。
また、本体のJavaScript本体をいじらなくても使用する機能のカスタマイズ(選択)ができる仕組みはうれしい。ほかのWYSIWYGエディタは基本的にカスタマイズのために、JavaScriptをいじらないといけないような気がする。
ただし、シンプルなだけに、変な制約と重要な制約もある。
変な制約の方は、ctrl+zが効かないのと、縦スクロールバーが表示されないのでtextareaが縦に長くなるとどんどん拡大されてしまう(これはこれで結構使いやすい)みたいです。
あと、もうひとつ重要な問題は、textの装飾がすべてstyle属性で付けられること。TinyMCEではこの部分はオプションで設定できることになっている。セキュリティ上あまりユーザの入力したタグに属性を追加させたくない(ほとんどの)場合に頭を悩ませることになる。自分専用のサイトの管理画面にのみ使うのだったら全く問題ないのではないかと思われる。
openWYSIWYG
http://www.openwebware.com/products/openwysiwyg/
nicEditの次の候補です。バージョンアップしたらまた試してみたいです。
多機能かつ比較的軽量。
Firefoxなどの動作バージョンが1.0以上というのはかなりサポート範囲が広くてうれしい。
だが、safari、operaサポートなしらしい。実際operaで使うと、結構不安定だった。
おそらくカスタマイズはソースに手が入る。
TinyMCE
*** TinyMCE、FCKeditor
多機能なのはよいが、そこまでは不要だった。あと重い。
カスタマイズまでは試してない。
多機能、そこまでは不要だがシンプルな機能セットも用意されているので、少ない範囲で使う分にはかなりよい。
デフォルトでは、強調表示はstrongタグ、イタリック体はemタグだが、アンダーバー、取消線などがspanタグのstyle属性にtext-decorationなどを設定する形になっているため、ユーザからの入力を受けるためにエディタを使うためには多少カスタマイズが必要。
ただ、カスタマイズもある程度、外部から引数でセットできるのでやりやすい。
というわけで、候補として急浮上。
FCKeditor
未使用だがデモを見る限り重そう。
雑感
複雑な機能が活躍するのは全体の要件の1割。「主要な9割がうまくできているように」という力の入れ具合はセンス。やはり、軽量シンプルは何にも勝る強さだとおもう。
nicEditの良さは、まさにシンプルさとソースに手を入れなくてもいい部分。
バージョンアップの度に開発者が新しいソースをいじらないといけないのは無理。
ただ、こういった一般的なWYSIWYGエディタは通常のhtmlのtextareaタグに後付けでつけるものが主流のようなので、ひとつのプロダクトにこだわらずに今後もいろいろチェックしては試してみたい。
ところでnicEditの作者もかなり若いね。この辺は若い世代のセンスなのかもと感じてしまうところがある。
GWなんでゆっくり時間をかけて検討しなきゃいけないなと思っていたことをやりたいとおもいつつ、あんまりたいしたことができていない...。