現在のアプリケーションでは、カスタム BBCode エディターを作成しました。多くの BBCode 拡張機能を使用しており、他の統合要件があるため、市販のエディターよりも独自のエディターを使用することが不可欠です。
これを作成し、生成された BBCode が常に有効であること、適切な HTML に変換されることなどを確認するのは大変な作業でしたが、結果には非常に満足しています。ただし...現状では、エンドユーザーにBBCodeの表示と編集を義務付けています。WYSIWYG を使用した方がよいでしょう。SCEditorには WYSIWYG インターフェイスがあることに注意してください。Chrome の優れたデバッガーで内部を調べたところ、次のことがわかりました。
- 元のテキスト領域が非表示になっています
- iframe を含む div が挿入されます
- iframe 内のドキュメントには contenteditable div と非表示の textarea コントロールが含まれています
調査を続けて、これらすべてがどのように行われるかを理解することができました. ただし、ここで必要なものについて、誰かが私にいくつかの指針を与えることができることを願っています. 入力された BBCode が何らかの方法で非表示のテキスト領域に「流用」され、オンザフライで HTML に解析され、結果がコンテンツ編集可能な div またはそれらの行に沿って何かに表示されると思いますか? また、マウスのクリックと選択を正しく処理するという問題もあります。