Javascript 如何在同一项目中使用带工具栏和不带工具栏的ckeditor?

Javascript 如何在同一项目中使用带工具栏和不带工具栏的ckeditor?,javascript,ckeditor,toolbar,Javascript,Ckeditor,Toolbar,我尝试在一个网页上使用带有工具栏的ckeditor,而在另一个网页上不使用工具栏。我尝试更改config.js文件以删除工具栏插件,但这会删除两个页面的插件。此外,我在我的js中尝试了这一点,但不起作用: var editor = CKEDITOR.inline( 'editable', { removePlugins: 'toolbar' } ); 我猜它不起作用,因为它只用于内联编辑。我建议您为此使用单独的函数或处理程序。不要修改主config.js文件,因为它将影响所有ckedi

我尝试在一个网页上使用带有工具栏的ckeditor,而在另一个网页上不使用工具栏。我尝试更改config.js文件以删除工具栏插件,但这会删除两个页面的插件。此外,我在我的js中尝试了这一点,但不起作用:

var editor = CKEDITOR.inline( 'editable', {
    removePlugins: 'toolbar'
} );

我猜它不起作用,因为它只用于内联编辑。

我建议您为此使用单独的函数或处理程序。不要修改主config.js文件,因为它将影响所有ckeditor实例。创建一个函数,该函数接受配置类型的元素和参数。根据参数和元素,调用此函数的每个元素都会有一个ckeditor实例

JS

现在,您可以在需要元素上的编辑器工具栏时调用此函数。 例如:

HTML:

config1、config2是将作为参数传递的配置


我希望这就是您在问题中的意思,它解决了您的问题。

您可以在初始化CKEditor实例时在线设置配置属性

假设您的HTML代码中的某个标记中有这一行:

这一个在其他地方,因为在不同的网页中有两个CKEditor实例

CKEDITOR.replace( 'editor2');
根据你的要求,你可以写

CKEDITOR.replace( 'editor1', {
    language: 'en',
    toolbar: [ [ 'Bold', 'Italic' ] ];
});
而不是第一次出现,以及

CKEDITOR.replace( 'editor2', {
    language: 'en',
    toolbar: []; // this means no icons at all on the toolbar
});
而不是另一个。现在,两个CKEditor实例的工具栏配置不同了

CKEDITOR.replace( 'editor1');
CKEDITOR.replace( 'editor2');
CKEDITOR.replace( 'editor1', {
    language: 'en',
    toolbar: [ [ 'Bold', 'Italic' ] ];
});
CKEDITOR.replace( 'editor2', {
    language: 'en',
    toolbar: []; // this means no icons at all on the toolbar
});