5

ソース ビューとの間で切り替えると、CKEditor が div CLASS 属性を削除します。

これは構成です:

$('.cke-editor-restrictive').ckeditor({
    extraAllowedContent: [
        "*[class,id]",
        "a[*]",
        "img[*]",
        "strong", "em", "small",
        "u", "s", "i", "b",
        "p", "blockquote[class,id]",
        "div[class,id,data-href]",
        "ul", "ol", "li",
        "br", "hr",
        "h1", "h2", "h3", "h4", "h5", "h6",
        "script[src,charset,async]",
        "iframe[*]", "embed[*]", "object[*]",
        "cite", "mark", "time",
        "dd", "dl", "dt",
        "table", "th", "tr", "td", "tbody", "thead", "tfoot"
    ].join("; ")
})

そして、グローバル CKEditor 構成:

CKEDITOR.editorConfig = function(config) {
  config.extraPlugins = 'mediaembed,codemirror,autosave';
  config.codemirror = { ... };

  config.toolbar = [['Bold', 'Italic', 'Underline', "RemoveFormat"], ['NumberedList', 'BulletedList', 'Blockquote'], ['Link', 'Unlink', 'Image', 'MediaEmbed'], ['Find', 'Paste'], ['Source', 'Maximize']];

  config.bodyClass = 'ckeditor-body';
  config.contentsCss = "/assets/application.css";
  config.baseHref = "http://www.website.org/";
  config.forcePasteAsPlainText = true;
};

私は何が欠けていますか?許可されたコンテンツ ルールのドキュメントを読みましたが、何か間違っているようには見えません。ルールを変更してもdiv[*]、クラスが削除されます。

4

2 に答える 2

23

クラスとスタイルは、他の属性と一緒に処理されません。それらは、ACF ルール内で独自の位置を占めています。すべてのスタイルを有効にするには、次のように記述します。

'div{*}'

すべてのクラスを有効にするには:

'div(*)'

すべてを有効にするには:

'div(*){*}[*]'
于 2013-09-10T19:06:29.153 に答える
2

私が書くとき

config.extraAllowedContent = 'div(class);ul(class)[id]';

div特定のをul保持しますclassが、id常に削除されます。

「id」を許可する方法はありますか?

編集:わかりました!IDを許可する - >

config.extraAllowedContent = 'div(rslides_container);ul(rslides)[id]';

ckeditor に ID を保持させたい場合は、 [id]を変更しないでください (ID を使用しないでください!単純に [id] を書き込むだけで、ckeditor は ID を削除しません!

于 2015-06-09T10:04:37.523 に答える