您将从在config.js中定义不同的工具栏开始
config.toolbar_MyToolUserMode1 = [
['Find', 'SelectAll'], ['Anchor'], ['Maximize']
];
config.toolbar_MyToolUserMode2 = [
['Find'], ['Anchor'], ['Maximize']
];
这些工具栏定义可以稍后在您的页面中使用,但请注意,一旦您创建了 CKEditor 的实例,工具栏布局就不能更改:
CKEDITOR.config.toolbar = "MyToolUserMode1";
var instance = CKEDITOR.appendTo(parentElement);
解决方案1:
您必须创建一个新实例来动态更改工具栏:
switch(UserMode)
{
case "1":
if (instance) instance.destroy();
CKEDITOR.config.toolbar = "MyToolUserMode1";
instance = CKEDITOR.appendTo(parentElement);
break;
case "2":
if (instance) instance.destroy();
CKEDITOR.config.toolbar = "MyToolUserMode2";
instance = CKEDITOR.appendTo(parentElement);
break;
}
解决方案2:
但是,如果您对在用户模式 2 中也显示完整工具栏并将 SelectAll-Button 变灰感到满意,那么以下可能是您的解决方案:
CKEDITOR.config.toolbar = "MyToolUserMode1";
var instance = CKEDITOR.appendTo(parentElement);
switch(UserMode)
{
case "1":
instance.getCommand('selectAll').enable();
break;
case "2":
instance.getCommand('selectAll').disable();
break;
}
[编辑 2 月 15 日]
解决方案3:
根据您的评论-> 如何使用 array.push 动态构建
config.js 中不需要配置
// your code
var myToolbarSection1 = new Array();
myToolbarSection1.push('Bold');
myToolbarSection1.push('Italic');
// attaching this section to toolbar
var myToolbar = new Array();
myToolbar.push(myToolbarSection1);
// setting the toolbar
CKEDITOR.config.toolbar_Dynamic = myToolbar;
CKEDITOR.config.toolbar = 'Dynamic';
var instance = CKEDITOR.appendTo('myDIVID');