当前位置 : 主页 > 网站建设 > 正文

CKEditor去除HTML元素自动换行代码

原创

重庆seo2017-12-06 16:19:04阅读()编辑文章dedecmsA+ / A-

        当我们使用DedeCMS v7.5 sp2版本默认的是CKEditor,编辑内会产生换行符号 /n ,比如输入<p>标签,源代码会变成

<p>
    Hallo World!</p>

        对代码进行必要的压缩才能在打开页面速度上有提升,修改CKEditor编辑器的设定档就可以解决这个问题。

        打开下列目录/include/ckeditor/config.js,找到如下代码

config.autoParagraph = false;
    config.enterMode = CKEDITOR.ENTER_BR;
config.shiftEnterMode = CKEDITOR.ENTER_P; 
};

        在尾端加上代码

CKEDITOR.on( 'instanceReady', function( ev ){
     with (ev.editor.dataProcessor.writer) {
       setRules("p",  {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("h1", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("h2", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("h3", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("h4", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("h5", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("div", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("table", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("tr", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("td", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("iframe", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("li", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("ul", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
       setRules("ol", {indent : false, breakBeforeOpen : false, breakAfterOpen : false, breakBeforeClose : false, breakAfterClose : false} );
     }
})

        保存后记得清除浏览器cookie,这样编辑器产生的原码,就会不断行的输出。上面的代码完全没有断行,或许在用源码编辑的时候检查比较麻烦,建议一个HTML标签后断行,每个标签就是一行,清晰得多。如下

<p>文字行</p>
<div>文字行</div>
<img src="1.jpg"/>

参数说明

indent  (是否加入空白 TAB)
breakBeforeOpen (插入起始原始码标签之前是否断行)
breakAfterOpen (插入起始原始码标签之后是否断行)
breakBeforeClose (插入结尾原始码标签之前是否断行)
breakAfterClose (插入结尾原始码标签之后是否断行)
false(否)
true(是)

    扩展阅读

    本文地址:https://www.vi586.com/web/489.html
    版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,支持原创,转载请保留出处

    赞(89)