我意识到有很多关于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> </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"> </div>
<p> </p>
<p> </p>
我可以继续,但你明白了。
更改的源的呈现方式与原始源不同。例如,如果打开然后保存在CKEditor中,那么排列良好的出版物会略微错位。
有没有办法告诉CKEditor请保留我的有效HTML源代码?
答案 0 :(得分:2)
选项config.allowedContent = true;
应该可以保持VALID html代码的完整性。
但是如果没有有效的html代码,它会尝试纠正它以便正确显示它(因为CKEditor不是代码编写工具,而是WYSIWYG工具)。
在您的第一个示例中,您的html无效(<p><a name="top"></p>
)。 <a>
代码应包含相应的</a>
结束标记。
在第二个示例中,您可以使用以下选项禁用
自动填充空标签:
config.fillEmptyBlocks = false;