私はtinyMCEに不慣れで、現在tinyMCEにカスタム要素を追加する好ましい方法を調査していますか?
ツールバーにいくつかのボタンを追加しました。これにより、(a)テキストの選択した部分の要素の挿入がトリガーされ、(b)もう一度クリックすると、選択したテキストからそれらの要素が削除されます。
これらの要素のネストを許可したくないので、基本的には、文または単語の一部を、重複しない特定のタグでマークアップしたいだけです。例:<foo>Hello</foo> world
今のところ、tinyMCEドキュメントで次の2つの可能性を見つけました。
#1 tinyMCE.execInstanceCommand(editor_id, command, user_interface, value, focus)
と
#2 var n = dom.create(element);
n.innerText = sel.getContent({format : 'text'});
tinyMCE.activeEditor.selection.setNode(n);
ここで、#2はより柔軟なアプローチのように見えるため、私が追求する価値があります。
私はすでにアプローチ#2を使用してプラグインの実装を開始しましたが、次のようなものをどのように処理するかわかりません。
- 要素境界とテキストノードに重なる選択(
<foo>hello</foo> world <bar>!</bar>
- 隣接する要素のマージ(
<foo>bar</foo><foo>bar</foo>
)または - 空の要素などに対処する方法。
これらの機能の多くは、などの「通常の」要素でも必要になるため、ある種の事前定義されたインターフェイスが欠落しているのではないかと思うのはこのためですstrong, em, h1,…,h6
。
さらに詳しい情報が必要な場合は、私に知らせてください。ヒントやポインタをいただければ幸いです。