CKEditor中的allowedContent和extraAllowedContent有什么区别?

时间:2017-10-26 07:35:12

标签: javascript ckeditor

在CKEditor中,配置中有allowedContentextraAllowedContent个选项。我了解allowedContent如何让您说出ACF会留下哪些标签和属性,但为什么allowedContentextraAllowedContent?他们做同样的事情吗?

我发现的一件事是,如果你想iframe[*]放入extraAllowedContent,那么想要允许iframe似乎只会起作用。如果将它放在allowedContent中,它就不起作用。

为什么呢?有什么区别?

1 个答案:

答案 0 :(得分:3)

设置allowedContent手动指示编辑器完全忽略已启用插件指定的允许标记(例如列表插件“注册”<ul><li>标记)。它可能会导致从CKEditor中删除功能。例如,如果您使用标准预设并且只允许iframe[*],则大多数按钮将从工具栏中“消失”(如粗体,列表,表格),因为您不再允许使用{{1}等元素},<strong><ul>等等。

<li>,顾名思义,允许您扩展CKEditor默认允许的允许标记/属性列表。默认情况下,CKEditor支持的内容取决于您启用的功能。

以下链接解释得非常好:https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_acf

  

我发现的一件事是,当你想要允许iframe时,如果你把iframe [*]放在extraAllowedContent中,它似乎才有效;如果你把它放在allowedContent中就行不了。

看起来你在代码中犯了一个错误,因为我刚检查了这种情况并且它按预期工作(iframe元素留在内容中,所有其他标记都被删除,大多数工具栏按钮都消失了)。

最后但并非最不重要的是,不要只使用extraAllowedContent启用iframe元素,而应考虑向CKEditor添加另一个正确处理编辑iframe(https://ckeditor.com/cke4/addon/iframe)的插件。如果将其添加到构建中,它将自动允许extraAllowedContent个元素。