5

我想在链接中包含一些块标签(在 HTML5 中有效):

<a href="http://example.com">
  <div>foo</div>
  <p>bar</p>
  <span>baz</span>
  <strong>zoom</strong>
</a>

但是 CKEditor 重写了代码,使得链接被放置在块标签内并允许包装内联标签,因为上面的代码被以下代码替换:

<div><a href="http://example.com">foo</a></div>
<p><a href="http://example.com">bar</a></p>
<a href="http://example.com"><span>baz</span> <strong>zoom</strong> </a>

如何禁用此行为?

在 CKEditor 配置中,我使用config.allowedContent = true;它禁用过滤允许的标签。

我们还使用config.autoParagraph = false;不要求将根级标签包装在段落中。

我试过使用config.extraAllowedContent = "a p; a div";,但这似乎没有任何效果。

4

2 回答 2

7

你可以尝试做类似这样的事情:

CKEDITOR.dtd.a.div = 1;
CKEDITOR.dtd.a.p = 1;

来源:http : //ckeditor.com/forums/Support/CKEditor-wont-allow-inside

于 2015-01-05T13:51:21.800 回答
4

目前 CKEditor (4.2) 只是 xHTML/HTML4 编辑器。不支持 HTML5 DTD(这是动态的,顺便说一句),这是您问题的根源。我也担心没有解决方法/配置,因为不同的 DTD 意味着不同的解析器,所以 CKEditor 不是适合你的工具。对不起。

您可以在这张票中找到更多信息。

于 2013-11-07T08:49:15.613 回答