¿Cómo configurar CKEditor para múltiples instancias con diferentes alturas?

Me gustaría tener varias instancias de CKEditor basadas en la misma configuración, pero con diferentes alturas. Intenté configurarconfiguración con la altura predeterminada, configurando la primera instancia, luego anulando la altura y configurando la segunda instancia:

var config = {
    .....
    height:'400'
};

$('#editor1').ckeditor(config);
config.height = '100';
$('#editor2').ckeditor(config);

... pero tengo dos instancias de CKEditor que tienen una altura de 100px.

También probé esto:

CKEDITOR.replace('editor2',{
    height: '100'
});

.. Tengo mensajes de error que la instancia ya existía. Busqué un poco y encontré que alguien en una situación similar recibió un consejo de que tienes que destruir () la instancia antes de reemplazar (), pero eso parece demasiado complicado para simplemente configurar una diferenteinicial altura.

Al final, configuré dos configuraciones diferentes y las copié sobre la propiedad toolbar_Full:

var config1 = {
    height:'400',
    startupOutlineBlocks:true,
    scayt_autoStartup:true,
    toolbar_Full:[
        { name: 'clipboard', items : [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ] },
        { name: 'editing', items : [ 'Find','Replace','-' ] },
        { name: 'basicstyles', items : [ 'Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat' ] },
        { name: 'paragraph', items : [ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiLtr','BidiRtl' ] },
        '/',
        { name: 'links', items : [ 'Link','Unlink','Anchor' ] },
        { name: 'insert', items : [ 'Image','HorizontalRule' ] },
        { name: 'styles', items : [ 'Styles','Format','Font','FontSize' ] },
        { name: 'colors', items : [ 'TextColor','BGColor' ] },
        { name: 'tools', items : [ 'Maximize', 'ShowBlocks' ] },
        { name: 'document', items : [ 'Source' ] }
    ]
}

var config2 = {
    height:'100',
    startupOutlineBlocks:true,
    scayt_autoStartup:true
};
config2.toolbar_Full = config1.toolbar_Full;

$('#editor1').ckeditor(config1);
$('#editor2').ckeditor(config2);

¿Hay alguna manera mejor? ¿Algo me falta? Hayesta pregunta pero no publicaron lo suficiente como para ser útiles, yesta pregunta muy similar no ha sido contestada ¡Gracias!

Actualizar:

Esto parece ser una peculiaridad de manejo de configuración / tiempo de CKEditor: la configuración se lee y aplica más tarde (supongo que después de que se haya configurado el marco DOM del editor) en lugar de cuando se crea una instancia del editor por primera vez.

Por lo tanto, cualquier cambio en los ajustes de configuración realizadosinmediatamente despues el 1er editor se crea una instancia con .ckeditor () sonen realidad aplicado Por el editor en algún momento en los siguientes milisegundos. Yo diría que esto no es un comportamiento normal, o lógico.

Por ejemplo, puede obtener el comportamiento esperado en mi primer ejemplo (anulando laconfig.height propiedad después de que el primer editor haya sido instanciado) para trabajar retrasando la segunda instancia de CKEditor con setTimeout (). Firefox necesitaba ~ 100ms, IE necesitaba 1ms. Loco y mal.

CKEditor debe leer los ajustes de configuración cuando se crea una primera instancia de cada editor. Por ahora, todos tienen que trabajar alrededor de esa peculiaridad.

Respuestas a la pregunta(6)

Su respuesta a la pregunta