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;