我使用CKEditor构建了一个简单的网站构建工具。该工具可以选择和设置调色板,这应该反映在CKEditor的样式下拉列表中。不过,在我看来,CKEditor中不能覆盖样式。我目前的代码是:在CKEditor中替换样式
CKEDITOR.stylesSet.add('styles', [
// Block-level styles
{ name: 'blah 1', element: 'h2', styles: { 'color': '#xxxxxx' } },
{ name: 'blah 2', element: 'h3', styles: { 'color': '#xxxxxx' } },
{ name: 'blah 3' , element: 'h4', styles: { 'color': '#xxxxxx' } },
{ name: 'blah 4' , element: 'h5', styles: { 'color': '#xxxxxx' } },
]);
CKEDITOR.config.stylesSet = 'styles';
现在,如果我重复这个新的风格,我得到:
ckeditor.js:232 Uncaught Error: [CKEDITOR.resourceManager.add] The resource name "styles" is already registered.
我使用CKEDITOR.replace尝试,但这并不解决这个问题。我想,明显的解决方案是每次使用迭代样式名称; style1,style2,style3 ...但这不是非常资源友好。有没有人有这个实际的解决方案?
感谢, 李
编辑器初始化后的修改样式集带来了以下问题: 1. [ACF](http://docs.ckeditor.com/#!/guide/dev_acf)根据提供的样式创建其配置 - 例如,允许包含在样式定义中的元素。 2.没有信息如何处理已删除样式的内容(应删除内容还是取消样式?) 处理此问题的最佳方法是销毁编辑器并使用更新创建一个新的样式配置。另外,在JSFiddle/JSBin上发布你的例子,以便更容易调查'错误 - 破坏'错误。 –