CKEditor正在修改我的HTML源代码 - 而不是更好。有什么方法可以阻止这种情况吗?

时间:2015-12-01 08:07:25

标签: ckeditor

我意识到有很多关于CKEditor修改HTML源代码的问题。但这些建议似乎都不起作用。

特别是,最常见的建议更改:

config.allowedContent = true;

似乎有所帮助,但仍有很多变化。

例如,在SOURCE模式下输入的以下HTML将被修改。

原件:

<p><a name="top"></p>
<p>Over the course of its 2 phases the ACCRA programme has co-authored and published a large collection of reports, case studies, evaluations and working papers. These are all available to download for free here.<br>
Our resources are categorised as follows: <a href="#top">General Programme Information</a> | <a href="#research_reports ">Research reports</a> | <a href="#case_studies">Country case studies</a> | <a href="#Phase 1 Evaluation ">Phase 1 Evaluation</a> | <a href="#Working_papers">Working papers</a>| <a href="#Publications in Portuguese">Publications in Portuguese</a></p>

变成这样:

<div>&nbsp;</div>
<p><a name="top"></a></p>
<p><a name="top"> </a></p>
<p><a name="top">Over the course of its 2 phases the ACCRA programme has co-authored and published a large collection of reports, case studies, evaluations and working papers. These are all available to download for free here.<br>
Our resources are categorised as follows: </a><a href="#top">General Programme Information</a> | <a href="#research_reports ">Research reports</a> | <a href="#case_studies">Country case studies</a> | <a href="#Phase 1 Evaluation ">Phase 1 Evaluation</a> | <a href="#Working_papers">Working papers</a>| <a href="#Publications in Portuguese">Publications in Portuguese</a></p>

添加了重复的行和偶数空格。

另一个例子:

原件:

<div style="clear: both"></div>
<p></p>
<p></p>

成为这个:

<div style="clear: both">&nbsp;</div>
<p>&nbsp;</p>
<p>&nbsp;</p>

我可以继续,但你明白了。

更改的源的呈现方式与原始源不同。例如,如果打开然后保存在CKEditor中,那么排列良好的出版物会略微错位。

有没有办法告诉CKEditor请保留我的有效HTML源代码?

1 个答案:

答案 0 :(得分:2)

选项config.allowedContent = true;应该可以保持VALID html代码的完整性。

但是如果没有有效的html代码,它会尝试纠正它以便正确显示它(因为CKEditor不是代码编写工具,而是WYSIWYG工具)。

在您的第一个示例中,您的html无效(<p><a name="top"></p>)。 <a>代码应包含相应的</a>结束标记。

在第二个示例中,您可以使用以下选项禁用&nbsp;自动填充空标签:

config.fillEmptyBlocks = false;