我正在尝试在一个网页上使用带有工具栏的ckeditor,而在另一个网页上没有工具栏。我尝试更改config.js文件以删除工具栏插件,但删除了两个页面。另外,我在我的js中试过这个(但它不起作用):
var editor = CKEDITOR.inline( 'editable', {
removePlugins: 'toolbar'
} );
(我猜它不起作用,因为它只适用于内联编辑。)
答案 0 :(得分:0)
我建议您为此设置一个单独的函数或处理程序。不要修改主config.js文件,因为它会影响所有ckeditor实例。创建一个接受配置类型的元素和参数的函数。根据参数和元素,将为您调用此函数的每个元素都有一个ckeditor实例。
<强> JS 强>
function ckeditorToolbar(elem,config) {
CKEDITOR.disableAutoInline = true;
CKEDITOR.dtd.$editable.input = 1;
elem.attr('contenteditable', true);
var editor = CKEDITOR.inline(elem.get(0), {
toolbar: config
});
}
现在,只要您想在元素上使用ckeditor工具栏,就可以调用此函数。 例如:
<强> HTML:强>
<textarea id="one"></textarea>
<textarea id="two"></textarea>
<强> JS:强>
ckeditorToolbar($("#one")[0],config1);
ckeditorToolbar($("#two")[0],config2);
config1,config2
是将作为参数传递的配置。
我希望这就是你在问题中的意思,它解决了你的问题。
答案 1 :(得分:0)
初始化CKEditor实例时,可以在线设置配置属性。
假设您在HTML代码中的某个位置使用&lt; script&gt;标记:
CKEDITOR.replace( 'editor1');
并且这个在其他地方(因为你在不同的网页中有两个CKEditor实例)
CKEDITOR.replace( 'editor2');
根据documentation of initialization和documentation of configuration,你可以写
CKEDITOR.replace( 'editor1', {
language: 'en',
toolbar: [ [ 'Bold', 'Italic' ] ];
});
而不是第一次出现,
CKEDITOR.replace( 'editor2', {
language: 'en',
toolbar: []; // this means no icons at all on the toolbar
});
而不是另一个。现在,您有两个CKEditor实例的不同工具栏配置。