Tri*_*oan 10 html css ckeditor
在我<textarea>,我有这个文字:
<table class='table table-striped'>
<tr>
<td>1</td>
<td>2</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
使用后CKEDITOR.replace(),我的文本区域成为CKEditor,并且其中有一个表格.问题是CKEditor将其类添加到我的表中cke_show_border.只有该类中的属性应用于表,我的类都不会应用.
我应该怎么做才能使它适用于我table和table-striped班级?
谢谢你的帮助.
我有一个类似的问题,在Drupal 7中使用CKEditor 7.x.1.13打开和保存是在我的HTML元素中删除属性.在"自定义JavaScript配置"下添加以下内容修复了它.
config.allowedContent = true;
Run Code Online (Sandbox Code Playgroud)
小智 8
您可以通过设置允许任何内容:标签,类,样式和属性
config.allowedContent = true;
Run Code Online (Sandbox Code Playgroud)
但是,更好的方法是仅允许插件提供的功能.要允许任何类附加到表,请键入
config.extraAllowedContent = 'table(*)';
Run Code Online (Sandbox Code Playgroud)
要阅读有关规则语法的更多信息,请访问:http://docs.ckeditor.com/#!/ guide/dev_allowed_content_rules-section-string-format
正如我在这里看到的,很可能你正在使用CKEditor 4.1或更新版本,而你的问题是高级内容过滤器.我猜你的表格对话框中没有"高级"选项卡,dialogadvtab编辑器包中也没有插件:
CKEDITOR.instances.yourInstance.plugins.dialogadvtab
> undefined
Run Code Online (Sandbox Code Playgroud)
对?然后你必须配置config.extraAllowedContent:
config.extraAllowedContent = `table[class]`;
Run Code Online (Sandbox Code Playgroud)
为什么会这样,你可能会问?这是因为编辑器中没有将类附加到标记的功能(命令,按钮,对话框,字段等)<table>.所以没有任何功能说:
"嘿,编辑,我要给桌子添加课程,你应该对它很冷静."
实际上,这是通过定义allowedContent和功能定义来完成的.因此,如果没有dialogadvtab加载的插件会告诉编辑器表可以使用类,编辑器会丢弃class输出中的属性,因为任何功能都不支持这些属性.
这种行为是为了保持您的标记清洁,并控制您的WYSIWYG编辑器生成的内容.它仍然需要关注和基本的理解.
请参阅我之前对类似问题的回答:CKEditor会自动从div中删除类
将 border=1 添加到表中,这样 CKEditor 就不会在表上设置自己的类(可能还有其他方法可以做到这一点,但我总是发现这更容易,因为它不需要对 CKEditor 进行任何更改)
| 归档时间: |
|
| 查看次数: |
13062 次 |
| 最近记录: |