2017-01-05 98 views
0

这是2017年,它是HTML5的时代!在HTML5中,换行符是<br>,而不是<br />。但是在它的一生中,我无法让CK编辑以<br>为由拒绝<br />如何在CKeditor中使用<br>而不是<br />

错误的<br />正在给我带来各种各样的问题。其中:

  • 失败代码验证
  • (在Firefox)而与<br />创建的代码块上使用JavaScript的innerHTML的,返回<br>的代替 - 这打乱了关于修改比较。

     

我发现有关该问题的这个老论坛条目(在相关的程序,而不是在CKEDITOR本身):
http://ckeditor.com/forums/Support/are-not-validated-W3C-validator-How-change

但建议的修复(在配置改变config.docType文件)不起作用!

我在顶层config.js和core/config.js中尝试了一堆不同的docTypes。

顶级config.js,我想:

config.docType = '<!DOCTYPE html>';

核心/ config.js,我想: docType: '<!DOCTYPE html>',

但没有任何作品! :(

我也试图追捕的文件众人<br />情况,但没有发现任何CKEDITOR的核心组成部分。我相信,该<br />字符串被创建动态??

如何我能得到CKEDITOR吐出<br>而不是<br />

谢谢!

+0

更易于在存储到数据库之前替换html输出而不是更新ckeditor代码---或者使用与[froala](https://www.froala.com/wysiwyg-editor)不同的东西 –

+0

它对CKeditor来说似乎不是一个很大的修改,哈哈! 您是否建议CKeditor如此笨拙,笨拙并且文档记录很糟糕,以至于作为一个代码来调整这样一个简单的事情基本上是无用的? :o 感谢您提供关于替代所见即所得HTML编辑器的建议 - 虽然我很犹豫跳上船,除非别的东西远远优于CKedit ...意见欢迎! –

+0

和Froala需要许可...没有bueno,因为我打算将我的项目作为开放源代码发布下来......迄今为止,CKedit给我留下了非常深刻的印象。 –

回答

0

耶,花了一些铁杆谷歌搜索(很难短语搜索),但我找到了答案!我希望这会帮助别人。

只需添加:

CKEDITOR.on('instanceReady', function(ev) { 
     // Output self-closing tags the HTML5 way, like <br> 
     ev.editor.dataProcessor.writer.selfClosingEnd = '>'; 
    }); 

它做什么,从我的理解,是等待核心插件“HTML输出作家”要加载 - 当它是,它改变了“作家” ,这是每个编辑器实例的属性。上述方式将修改应用于所有编辑器,但也可以对单个编辑器实例进行修改(尽管我很难想象为什么有人会想要修改后者)。

有关更多信息,请参阅CKEditor4文档: How Do I Output HTML Instead of XHTML Code Using CKEditor?

好吧,CKEditor岩石!:D

相关问题