5

我已使用CKEditor更新我网站上的CMS内容。我还使用FontAwesome,其包括设置的花式图标,可以显示这样CKEditor和转义元素

<i class="icon-envelope"></i> 

的问题是,CKEditor的逸出在客户端这i标签,并且我不能看到它在源模式。

我如何允许这个标签?我试过CONFIG.removeFormatTags = '',但它没有帮助。

+0

我遇到了同样的问题,读到这里寻求解决方案 http://stackoverflow.com/a/18254082/ 1316372 – HenryW 2013-08-15 15:15:09

回答

10

它被删除,因为它是空的。在其中放置一些非破坏空间&nbsp;或零宽度空间&#8203;以保留您的标记。

您还可以从CKEDITOR.dtd.$removeEmpty对象中删除i。但是,这可能会在没有class="icon-envelope"的情况下打破其他空的<i>标签。要解决这个问题,您需要使用data processor来过滤空的<i>'s而不需要class="icon-envelope"。我猜很容易。下面

+1

不应该通过config.fillEmptyBlocks来处理,默认情况下它被设置为true? 如何编辑CKEDITOR.dtd。$ removeEmpty对象以删除i元素?我找不到它被列为在js文件中的任何地方被删除。 我想编辑fillEmptyBlocks函数来使用​而不是非破坏空间。 font-awesome中的图标间距仅在元素保持为空或使用​时才正确 – 2013-04-09 19:26:11

0

工作对我来说..感谢文斯Kronlein指出config.fillEmptyBlocks

CKEDITOR.editorConfig = function(config) { 
     config.fillEmptyBlocks="&#8203;"; 
} 
CKEDITOR.dtd.$removeEmpty['span'] = false; 
CKEDITOR.dtd.$removeEmpty['i'] = false;