3

子を持つカスタム オブジェクトを追加する CKEditor のプラグインを作成しようとしています。

例:

<div>
    <img src="someimage.jpg" />
    <p>
        Some text
        <span>Some subtext</span>
    </p>
    <img src="someStaticImage.jpg" />
</div>

onOk 関数には次のものがあります。

---snip---
this.imgElement.setAttribute('src',path + data.imageSrc);
this.staticImgElement.setAttribute('src',path + 'images/staticimg.jpg');
this.imgElement.appendTo(this.element);
this.imgElement.appendTo(this.element);
this.staticImgElement.appendTo(this.element);
---snip---

このブロックが単一の要素として動作するようにしたいと思います。つまり、バックスペースを押すとブロック全体が削除され、ダブルクリックすると編集ダイアログが開きます...

どのように私はそれを行うことができますか?

設定に近づきました

this.element.setAttribute('contenteditable','false');

ただし、「it」が cedit ウィンドウの最初の要素である場合、「it」の前にコンテンツを挿入することはできません。

編集:

詳細情報: CKEditor 4.0 のインライン バージョンを使用しています。「オブジェクト」を「画像」プラグインのようにしたいと考えています。画像をダブルクリックすると、オブジェクトを作成したときと同じダイアログが開きます。 (src、幅を設定する場所...)。何とか似せて作ったのですが、子要素を持つdivなので、CKEditorは各パーツを別々に扱い、オブジェクトの削除(バックスペースあり)がおかしくなり、一部だけが削除されてしまい、オブジェクト全体を削除するには、バックスペースを複数回押す必要があります。

4

2 に答える 2

4

私は CKEditor のコア開発者ですが、興味深いニュースがあると思います :)。偶然にも、現在、まさにあなたの意図するウィジェット機能に取り組んでいます。

設定によってページの一部のフラグメントを編集contenteditable=false不可にすると、それらが使用できなくなります。選択、コピー&ペースト、右クリック、矢印キーの使用 - これらすべてが少なくとも部分的に壊れています。また、ネストされた編集可能な要素 (編集不可能な要素内で編集可能) を追加しようとすると、さらに悪化します。たとえば、内部から削除できるからです。

そのため、ウィジェットを作成するための優れた API を実装し、内部のバグをすべて修正することにしました。最初はすべてのバグやすべてのブラウザにあるわけではないかもしれません。なぜなら、膨大な量のバグ (本当に... つまり huuuuge :P) があり、もちろんブラウザ間の標準的な動作がまったくないからです。しかし、それは良いスタートになるでしょう。今後の CKEditor 4.2 でリリースされるウィジェットの最初のバージョンは使用できるはずです - これが私たちの目標です。次に、実装の安定化に焦点を当てます。

PS。CKEditor ロードマップによると、CKE 4.2 は 11 日で準備が整いますが、残念ながらこれは真実ではありません。遅れていますが、今はいくら見積もりたくありません。

于 2013-05-12T10:56:25.187 に答える