red*_*d-X 3 javascript ckeditor
tl; dr我不想在小提琴中允许嵌套表格
我试图尽可能地限制我的CKEditor中允许的html.我试图强制执行的规则之一是只允许根中的表,绝对没有嵌套表.有我的问题...我已经尝试使用allowedContent,disallowedContent配置条目和strait up更改CKEDITOR.dtd,到目前为止没有任何作用.
// doesnt seem to do anything
// CKEDITOR.dtd.$blockLimit.table = 0;
// cannot create table at all
// CKEDITOR.dtd.td.table = 0;
CKEDITOR.replace('editor1', {
customConfig: '',
toolbarGroups: [
{ name: 'blocks', groups: [ 'insert'] }
],
removeButtons: 'Image,HorizontalRule,SpecialChar,Blockquote',
// disallowedContent: {
// table: {
// match: function( element ) {
// no way to access what the parent element is
// }
// }
// }
});
Run Code Online (Sandbox Code Playgroud)
毕竟在dtd中找到了解决方案.其中,排除故障table从CKEDITOR.dtd.td导致不能够在所有创建一个表是国际海事组织在CKEditor的一个bug.
CKEDITOR.dtd.td指向同一个对象CKEDITOR.dtd.body和其他一些对象.所以,如果我想改变CKEDITOR.dtd.td 只有我需要的对象引用的副本,并在有效的.
// using Lo-Dash to create a copy of the object
CKEDITOR.dtd.td = _.merge({}, CKEDITOR.dtd.td);
delete CKEDITOR.dtd.td.table;
CKEDITOR.replace('editor1', {
customConfig: '',
toolbarGroups: [
{ name: 'blocks', groups: [ 'insert'] }
],
removeButtons: 'Image,HorizontalRule,SpecialChar,Blockquote'
});
Run Code Online (Sandbox Code Playgroud)
当光标位于表格单元格内时,这会产生灰色按钮的所需结果,而当在正文中时,则会产生正常按钮.
查看更新的小提琴.
| 归档时间: |
|
| 查看次数: |
373 次 |
| 最近记录: |