2015-11-19 60 views
3

有没有办法动态更改编辑器的皮肤(CKEditor 4.1(修订版80c139aa))?CKEditor皮肤的动态更新

我能做到这一点的唯一方法是从config.js(这意味着我的皮肤都OK工作)

一个JDialog打开时,编辑器加载。在对话框打开时,我想运行一个命令,根据用户的喜好来改变皮肤。

我试过,没有运气:

CKEDITOR.config.skin = '/moono-dark'; 

而且这样的:

CKEDITOR.editorConfig = function(config) { 
    config.skin = '/karma'; 
}; 

而且这样的:

CKEDITOR.replace('problem', { 
    customConfig: '../ckeditor/skins/config_flat.js'; //this path is ok 
}); 

还试图加载使用AJAX配置文件(删除后defaulkt config.js文件):

$.getScript("../ckeditor/skins/config_icy_orange.js", function(data, textStatus, jqxhr) { 
     CKEDITOR.replace('problem'); 
}); 

它总是加载默认的config.js文件...

我该怎么做?

回答

0

您可以选择皮肤蒙山CKEDITOR.replace使用这样的:

CKEDITOR.replace('ckeditor',{ 
     skin: "kama" 
}); 

如果皮肤不是在默认的插件文件夹,你应该将该路径添加到这样的皮肤文件夹:

// Enable "moonocolor" skin from the /myskins/moonocolor/ folder. 
CKEDITOR.replace('editor1', { 
    skin: 'moonocolor,/myskins/moonocolor/' 
}); 

这里工作fiddle与卡马

您可以在这里看到ckeditor skin samples

+0

,因为你在你的小提琴上有它,我们可以有一个按钮,将该皮肤改变为“月亮”? – MaVRoSCy

+0

正在查看文档,但似乎CKEditor 4只允许每页一个皮肤。从v4中删除了在同一页面上加载多个皮肤的功能。你可以尝试用一些技巧来实现这一点,比如删除window.CKEDITOR并重新初始化整个库,但这不是一个好习惯。 而不是改变皮肤,你可以尝试改变UI颜色来实现类似的东西。 – AndreaG

+0

我不需要多个皮肤,我只是想改变皮肤加载....:/ – MaVRoSCy