CKEditor - HTML代码不断添加新行我在源代码视图和wysiwyg视图之间切换?

Hou*_*run 8 html jinja2 ckeditor4.x

我尝试将jinja代码保存在CKEditor中,就像我在代码视图和WYSIWYG视图之间切换视图一样.

我可以通过在我的config.js文件中添加以下行来获得此结果

CKEDITOR.config.protectedSource.push(/\r|\n/g);

CKEDITOR.config.autoParagraph = false;
Run Code Online (Sandbox Code Playgroud)

但是,它对HTML代码不起作用.例如,如果jinja代码和这样html混合在一起:

{% if name=='bob' %}
    {{'hello bob'}}
{%else%}
    {{ 'hello ' + name }} 
{% endif %}

<p>Hello visitor</p>
Run Code Online (Sandbox Code Playgroud)

这是Fiddle JS上的 Demo

在此之后,当我在CKEditor中从代码视图更改为wyiwyg视图时,HTML代码只增加了一行,另一行用于另一个切换视图,如下所示:

在此输入图像描述

我找不到HTML代码有什么问题,我只是格式化jinja代码,我该如何解决?谢谢

Row*_*Abd 1

在您的代码下写入这些附加行

$("body").on("click", ".cke_button__source", ()=>{
//   if(CKEDITOR.instances.editor1.mode==="source"){
     let vtk = CKEDITOR.instances.editor1.getData();
    // vtk = vtk.replace(/\n<p>/gm, "<p>");
     vtk = vtk.replace(/^\s*[\r\n]/gm, "");
     $(".cke_source").val(vtk)
  // }
})
Run Code Online (Sandbox Code Playgroud)

这是 jsFiddle