3

バージョン 3.6 のコード修正では、次のような HTML 5 の有効なコードを受け入れることができないため、新しい CKEditor 4 を試します。

<a href="#"><p>something</p></a>

しかし、CKEditor の新しいバージョンでもこのコードは修復されますが、どこに問題があるのでしょうか? config で HTML 5 をデフォルトとして設定する必要がありますか?

4

4 に答える 4

1

config.js ファイルに、次の構成設定を追加します。

// Display all children elements allowed in a <a> element.
console.log(CKEDITOR.dtd[ 'a' ]);

// Simply redefine DTD like this:
CKEDITOR.dtd['a']['div'] = 1;
CKEDITOR.dtd['a']['p'] = 1;
CKEDITOR.dtd['a']['i'] = 1;
CKEDITOR.dtd['a']['span'] = 1;

// Check if <div> can be contained in a <p> element.
console.log( !!CKEDITOR.dtd[ 'a' ][ 'div' ] ); // default false

// Check if <a> can be contained in a <div> element.
console.log( !!CKEDITOR.dtd[ 'div' ][ 'a' ] ); // default true

Drupal 8 の場合、このコードを管理テーマ js に追加できます。最適なソリューションではありませんが、機能的です。

于 2017-09-28T08:47:17.207 に答える
0

これを回避するには、xsl を使用して、元の要素をクラス名として使用して不明な要素を div または span-tag にマップし、この onsubmit を元に戻します。xml との間で常にこれを行っており、問題なく動作します。

于 2013-07-31T09:08:46.710 に答える