5

当我切换到源视图/从源视图切换时,CKEditor 正在剥离 div 类属性。

这是配置:

$('.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]';

divul保留特定的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 回答