在CKEditor 4.x中有一种方法可以在初始化后获取允许的标签列表吗?

时间:2016-03-07 13:00:06

标签: javascript ckeditor ckeditor4.x

有没有办法在CKEDitor 4.x中获得所有允许标签的列表(准确地说是4.4.7) 编辑器已经使用所有插件初始化后,所有{{1已经应用了{}}和allowedContentRules或其他任何数据过滤器?

我想有这个列表,以便我可以将它传递给我们的后端进行白名单。我知道CKEditor已经有一个白名单插件可以让我在前端和后端都指定相同的白名单,但是我担心我可能会错过某些插件中使用的某些标签,这些标签可能会使它们瘫痪。

1 个答案:

答案 0 :(得分:5)

可能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' ) );
        }
    }
} );

也许这种格式不像简单的字符串那么友好,但它传达了你需要的所有信息。