【发布时间】:2014-07-02 05:43:24
【问题描述】:
假设我有一个块标记:
<div class="block">
<a href="/">
<div class="divInside"></div>
<img src="/bla" />
<p>Parargraph</p>
</a>
</div>
HTML5:声明<a> 元素“可以围绕整个段落、列表、表格等,甚至整个部分,只要其中没有交互式内容(例如按钮或其他链接)”。
所以我这里的东西是完全有效的,不是吗?为什么 ckeditor 不断重新格式化我的源代码,例如上面,一旦我在富编辑器和源代码模式之间进行更改,会执行以下操作:
<div class="block">
<div class="divInside">
</div>
<a href="/"><img src="/bla" /> </a>
<p>
<a href="/">Parargraph</a>
</p>
<a href="/"> </a>
</div>
我对它对空 div 的作用没有任何问题,但是对锚点的作用非常烦人。
有没有办法禁用它?
【问题讨论】:
-
CKEditor 缺乏对 HTML5 中引入的块级链接的支持,因为这是一个相当大的变化。出于同样的原因,HTML5 没有 DTD - 它无法创建。 CKEditor 基于类似 DTD 的对象 (
CKEDITOR.dtd) 解析和处理内容,因此,如果没有深入的架构更改,它就不能同时支持内联和块链接(所谓的透明元素)。当然会做出这种改变,但我们需要时间。 -
@oleq 查看我发布的答案,我想出了一个很好的解决方案!它基本上告诉 ckeditor 不验证锚点。
标签: javascript jquery html ckeditor