我目前正在开发使用Kentico CMS,它使用CKEditor。
我们使用Bootstrap作为开发的一部分,因此有时需要古怪的HTML。
CKEditor似乎是在自动更正HTML:
在:
<a href="#" class="list-group-item">
<h4 class="list-group-item-heading">NEBOSH Revision</h4>
<p class="list-group-item-text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ornare mattis vulputate. Nullam eu est quis risus congue feugiat. Sed ut erat accumsan.</p>
</a>
后:
<h4 class="list-group-item-heading">
<a class="list-group-item" href="#">NEBOSH Revision</a>
</h4>
<p class="list-group-item-text">
<a class="list-group-item" href="#">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ornare mattis vulputate. Nullam eu est quis risus congue feugiat. Sed ut erat accumsan.</a>
</p>
我一直在阅读“config.allowedContent = true”选项以禁用高级内容过滤器,但它似乎无法正常工作。
我不知道这是因为我做错了,还是因为这个选项不能解决我的问题。
在我的config.js文件中,我尝试过设置:
CKEDITOR.editorConfig = function (config) {
config.allowedContent = true;
设置如下:
CKEDITOR.config.allowedContent = true;
CKEDITOR.editorConfig = function (config) {
答案 0 :(得分:2)
您的问题与允许的内容过滤器无关。 CKEditor 4.x是HTML4 / xHTML 1.1编辑器(静态DTD),这些标准不允许链接中的块元素(参见this answer)。这就是为什么CKEditor的解析器认为你的HTML无效并纠正它。
您必须更改标记以使其与CKEditor兼容(请参阅this answer)。