1

我试图弄清楚如何创建一个 ckeditor 实例,并将工具栏附加到与我正在创建实例的 DIV 分开的 DIV 上。我在配置数组中看到您可以设置 config.sharedSpaces = { top: 'divid' } (至少在旧版本中可以),但我不能在配置页面上这样做,它需要在页面上完成我正在创建实例。有谁知道如何做到这一点?

这是我创建实例的方式:

CKEDITOR.replace( 'editor', {
        toolbarGroups: [
            { name: 'document', groups: [ 'mode', 'document', 'doctools' ] },
            { name: 'clipboard',   groups: [ 'clipboard', 'undo' ] },
            { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
            { name: 'colors' },
            { name: 'styles'},
            { name: 'paragraph', groups: [ 'list', 'align' ], items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote' ] },
            { items: [ 'Image', 'Table', 'HorizontalRule', 'SpecialChar' ] },
            { name: 'links' },
            { name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ] },
            { name: 'tools'}
        ]
    });

是的,我知道我可以使用 clone(),但我希望有一个更干净的解决方案。

4

3 回答 3

0

对于 CKEditor 4.1+,您可以使用可选的共享空间插件(需要添加到您的 CKEditor 构建中)。

<div id="top">
    <!-- This div will handle all toolbars. -->
</div>

<div>
    <textarea id="editor1" name="editor1">My editor content</textarea>
</div>

<script>
    CKEDITOR.replace( 'editor1', {
        // Configure CKEditor to use the Shared Space plugin.
        extraPlugins: 'sharedspace',
        // The Resize plugin does not make sense in this context.
        removePlugins: 'resize',
        sharedSpaces: {
            // Configure the editor instance to place the toolbar in the div id='top'.
            top: 'top'
        }
    } );
</script>

请参阅“共享工具栏和底部栏”文档,其中包含代码示例和带有源代码的工作演示,以供复制和下载。

于 2014-11-20T13:01:45.170 回答
0

在初始化编辑器之前,请写下:

<script>
CKEDITOR.config.sharedSpaces = {
    'top' : 'myToolbar',
    };
</script>

如果 sharedspaces 插件不可用,请从http://ckeditor.com/addon/sharedspace下载

于 2013-05-12T16:21:15.000 回答
0

共享空间功能在 CKEditor 4.0 中不可用。它将很快在CKEditor 4.1中重新引入- 请参阅票证(它已经合并到major)。

于 2013-02-17T20:45:36.210 回答