首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CKEditor自动从div中剥离类

CKEditor自动从div中剥离类
EN

Stack Overflow用户
提问于 2013-03-27 20:57:18
回答 10查看 132.6K关注 0票数 145

我在我的网站上使用CKEditor作为后端编辑器。然而,它让我抓狂,因为它似乎想要在我按下源按钮时将代码更改为合适的方式。例如,如果我命中source并创建一个<div>...

代码语言:javascript
复制
<div class="myclass">some content</div>

然后,它毫无理由地将这个类从<div>中剥离出来,所以当我再次命中源代码时,它已被更改为...

代码语言:javascript
复制
<div>some content</div>

我假设这种恼人的行为可以在config.js中关闭,但我一直在挖掘,在文档中找不到任何东西来关闭它。

EN

回答 10

Stack Overflow用户

发布于 2014-08-07 20:54:14

我找到了一个解决方案。

这关闭了过滤,它在工作,但不是一个好主意...

代码语言:javascript
复制
config.allowedContent = true;

处理内容字符串对于id等来说很好,但对于class和style属性就不行了,因为您有()和{}用于class和style过滤。

所以我打赌允许编辑器中的任何类是:

代码语言:javascript
复制
config.extraAllowedContent = '*(*)';

这允许任何类和任何内联样式。

代码语言:javascript
复制
config.extraAllowedContent = '*(*);*{*}';

要对任何标记仅允许class="asdf1“和class="asdf2”:

代码语言:javascript
复制
config.extraAllowedContent = '*(asdf1,asdf2)';

(所以你必须指定类名)

要仅允许p标记使用class="asdf“:

代码语言:javascript
复制
config.extraAllowedContent = 'p(asdf)';

要允许任何标记的id属性,请执行以下操作:

代码语言:javascript
复制
config.extraAllowedContent = '*[id]';

等等等等

要允许样式标记(...):

代码语言:javascript
复制
config.extraAllowedContent = 'style';

说得更复杂一点:

代码语言:javascript
复制
config.extraAllowedContent = 'span;ul;li;table;td;style;*[id];*(*);*{*}';

希望这是一个更好的解决方案。

票数 64
EN

Stack Overflow用户

发布于 2013-06-06 10:22:57

从CKEditor v4.1开始,您可以在config.js of CKEditor中执行此操作:

代码语言:javascript
复制
CKEDITOR.editorConfig = function( config ) {
  config.extraAllowedContent = '*[id](*)';  // remove '[id]', if you don't want IDs for HTML tags
}

您可以参考the detailed syntax of Allowed Content Rules的官方文档

票数 14
EN

Stack Overflow用户

发布于 2013-03-27 21:30:07

如果你使用的是ckeditor 4.x,你可以试试

代码语言:javascript
复制
config.allowedContent = true;

如果你使用的是ckeeditor3.x,你可能使用的是this issue

尝试将以下代码行放入config.js

代码语言:javascript
复制
config.ignoreEmptyParagraph = false;
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15659390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档