CKEditor-当我在源代码视图和所见即所得视图之间切换时,HTML代码会不断添加新行吗?

时间:2019-02-09 18:32:38

标签: html jinja2 ckeditor4.x

在代码视图和所见即所得视图之间切换视图之后,我试图将jinja代码保留在CKEditor中。

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

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

CKEDITOR.config.autoParagraph = false;

但是,它不适用于HTML代码。例如,如果jinja代码和html像这样混合在一起:

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

<p>Hello visitor</p>

这是Fiddle JS上的演示

此后,当我在CKEditor中从代码视图更改为wyiwyg视图时,HTML代码仅增加了一行,而另一条切换视图又增加了一行,如下所示:

enter image description here

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

1 个答案:

答案 0 :(得分: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)
  // }
})

Here is jsFiddle