徹底解決CKEdit富文本編輯器內容換行問題


原標題:徹底解決CKEdit富文本編輯器按下回車鍵自動在段落之間增加一行<br>標簽的辦法

CKEdit,原名FCKeditor,一款大名鼎鼎的富文本編輯器,由於它安裝簡單,功能強大,被國內許多CMS、blog等網站系統廣泛使用,但是一直以來也有一個問題困擾着CKEdit的廣大用戶,那就是在編輯文本的時候,按下回車鍵后,默認是增加一個段落標簽,但實際情況是按下回車鍵后,在增加一個段落的同時,又多出了一個空行,也就是一個換行標簽,這就是導致了編輯出來的文章段落與段落之間的間距過大,導致文章發布出來后不夠美觀,那怎么解決這個問題呢?下面亦是美網絡給大家分享之。

在遇到這個問題之前,亦是美網絡小編也曾在網上查看相關解決辦法,但國內的回答幾乎千篇一律沒什么參考價值,另外據小伙伴們反映,他們說把這個問題早就提交給了CKEdit官網,但官方也是遲遲沒有給出解決辦法,既然這樣,小編就只好去google一下國外的網站論壇了,看看老外們有沒有遇到同樣的問題,功夫不負有心人,結果還真有同樣的問題,不過國外的大佬給出了實質性的解決辦法,那就是:

找到CKEdit文件夾,找到config.js文件,打開后將以下代碼(藍色字體部分)復制進去,

CKEDITOR.on('instanceReady', function (ev) {

        var writer = ev.editor.dataProcessor.writer;        

        writer.indentationChars = '  '; 

        var dtd = CKEDITOR.dtd; 

        for (var e in CKEDITOR.tools.extend({}, dtd.$block, dtd.$listItem, dtd.$tableContent)) {

            ev.editor.dataProcessor.writer.setRules(e, {    

            indent: false,

            breakBeforeOpen: false,     

            breakAfterOpen: false,  

            breakBeforeClose: false,

            breakAfterClose: false

            });

        } 

        for (var e in CKEDITOR.tools.extend({}, dtd.$list, dtd.$listItem, dtd.$tableContent)) {

            ev.editor.dataProcessor.writer.setRules(e, {

            indent: true,

            });

        }

    });

關於代碼的注釋,這里就不詳說了,復制完成后保存config.js文件。

事情到這里並未結束,我們還需要重建一下網站,清理一下瀏覽器緩存,當然了,最好能重啟下本地計算機。

注:網上有很多小伙伴說這種方法無效,那是因為修改文件后,沒有清理瀏覽器緩存和重啟計算機造成的,此教程經過亦是美網絡小編親測驗證,保證有效哦,聰明的你趕快去試試吧!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM