CKEditor剥离div类,尽管它在extraAllowedContent中指定

时间:2013-09-10 16:27:59

标签: javascript ckeditor

当切换到/从源视图切换时,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;
};

我错过了什么?我已经结束了the documentation for Allowed Content Rules而且我似乎没有做错任何事。即使我将规则更改为div[*],它也会删除该类。

2 个答案:

答案 0 :(得分:23)

不会将类和样式与其他属性一起处理。他们在ACF规则中有自己的位置。要启用您要编写的所有样式:

'div{*}'

并启用所有课程:

'div(*)'

并启用所有内容:

'div(*){*}[*]'

答案 1 :(得分:2)

当我写

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

divul保留具体的class,但id始终会被删除。

有没有办法允许" id" ?

编辑:搞定了! 允许ID - >

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

如果你想让ckeditor 保持你的ID不改变 [id](不要使用你的ID!简单写[id]而ckeditor不会删除你的id!