今天在使用dedecms后台用CKEditor编辑发布文章的时候发现发布成功之后再次编辑文章,源码中的div样式标签属性会被自动过滤掉,反复试了几次,发现点击CKEditor中源码按钮时也会出现这个问题。 解决方案: 1.CKEDITOR编辑器属性可以通过修改/ckeditor/config.js文件来控制。找到dedecms目录中的/include/ckeditor/config.js //标签过滤默认是开启的,默认会过了<style>样式标签设置为true可关闭过滤 config.allowedContent=true;//关闭标签过滤 这行代码如果不存在就加上。 也可以在使用时单独使用 CKEDITOR.replace('XXX',{allowedContent: true}); 需要注意的是,修改完毕后一定要清除浏览器缓存,才能看到效果。或者用另外一个浏览器打开测试。 2.上面的方法会完全关闭掉对样式的过滤,有的时候我们不需要它全部屏蔽,可以使用以下方法。 您也可以更精确地configurationCKEditor的内容filter,以仅允许您需要的这些元素,类,样式和属性。 这个解决scheme要好得多,因为CKEditor仍然会删除浏览器在复制和粘贴内容时产生的大量糟糕的HTML,但是它不会去除你想要的内容。 格式如下: 保留所有div样式 config.extraAllowedContent = 'div(*)'; 保留Bootstrap样式 config.extraAllowedContent = 'div(col-md-*,container-fluid,row)'; 保留指定dt和dd元素 config.extraAllowedContent = 'dl; dt dd[dir]'; |