-
CKEditor 查看源码中空格的过滤
普通类 -
- 支持
- 批判
- 提问
- 解释
- 补充
- 删除
-
-
前言:
关于如何使用 CKEditor 网上的文章已经很多了,前些天本人还发过一篇 ASP.NET MVC 3 中使用 CKEditor 的文章。默认配置下使用 CKEditor 时点击“源码”时,发现会自动生成回车换行,并带个制表符,后台程序接收时发现确实为:<p>\r\n\t、<ol>\r\n\t 等。
当然这样不会有什么问题,但追求极致的人会觉得它不仅占用空间,而且影响源码中应有的整洁。大家看看下边两个图就会清楚本篇要实现的功能:
我们可以写代码来过滤 CKEditor 中的空格,但我们不需要花费这个时间, CKEditor 中的配置功能非常强大,我们只需将下边的代码添加到 ckediotr 文件夹下的 config.js 文件中即可,如下:
CKEDITOR.editorConfig = function( config ){};CKEDITOR.on('instanceReady', function (ev) {with (ev.editor.dataProcessor.writer) {setRules("p", { indent: false, breakAfterOpen: false, breakBeforeClose: false});setRules("h1", { indent: false, breakAfterOpen: false, breakBeforeClose: false});setRules("h2", { indent: false, breakAfterOpen: false, breakBeforeClose: false});setRules("h3", { indent: false, breakAfterOpen: false, breakBeforeClose: false});setRules("h4", { indent: false, breakAfterOpen: false, breakBeforeClose: false});setRules("h5", { indent: false, breakAfterOpen: false, breakBeforeClose: false});setRules("div", { indent: false, breakAfterOpen: false, breakBeforeClose: false});setRules("table", { indent: false, breakAfterOpen: false, breakBeforeClose:false });setRules("tr", { indent: false, breakAfterOpen: false, breakBeforeClose: false});setRules("td", { indent: false, breakAfterOpen: false, breakBeforeClose: false});setRules("iframe", { indent: false, breakAfterOpen: false, breakBeforeClose:false });setRules("li", { indent: false, breakAfterOpen: false, breakBeforeClose: false});setRules("ul", { indent: false, breakAfterOpen: false, breakBeforeClose: false});setRules("ol", { indent: false, breakAfterOpen: false, breakBeforeClose: false});}});这样我们就实现了 CKEditor 中空格的过滤,当再次点“源码”时就会发现代码变得很紧密,最终在页面上解析后的效果相信大家可以想像到了
。 -
-
- 标签:
- indent
- false
- breakafteropen
- 源码
- 空格
- ckeditor
- setrules
- breakbeforeclose
-
学习元评论 (0条)
聪明如你,不妨在这 发表你的看法与心得 ~