在之后,是否已使用所有插件初始化了编辑器,并且已应用所有allowedContentRules
和disallowedContentRules
或任何其他数据过滤器,是否有办法在CKEDitor 4.x(准确地说是4.4.7)中获取所有允许标签的列表?
我希望拥有此列表,以便可以将其传递到后端进行白名单。我知道CKEditor已经有一个白名单插件,可以让我在前端和后端指定相同的白名单,但是我担心我可能会错过某些插件中使用的一些标记,这些标记可能会使它们瘫痪。
最佳答案
您可能正在寻找 CKEDITOR.filter.allowedContent
。可以从editor.filter
属性访问它。如何做的小例子:https://jsfiddle.net/Comandeer/tb6f0g8r/
CKEDITOR.replace( 'editor1', {
on: {
instanceReady: function( evt ) {
// It returns the array of all rules,
//so if you want to send it to the server,
// you'll probably need to "JSON-ify" it.
var allowedContent = evt.editor.filter.allowedContent;
console.log( JSON.stringify( allowedContent, null, '\t' ) );
}
}
} );
也许这种格式不如简单的字符串友好,但是它可以传达您需要的所有信息。