Jak skonfigurować CKEditor dla wielu instancji o różnych wysokościach?

Chciałbym mieć wiele wystąpień CKEditora opartych na tych samych ustawieniach konfiguracji, ale o różnych wysokościach. Próbowałem skonfigurowaćconfig z domyślną wysokością, konfiguracja pierwszej instancji, a następnie nadpisanie wysokości i ustawienie drugiej instancji:

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

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

... ale dostaję dwie instancje CKEditor, które mają wysokość 100px.

Próbowałem również tego:

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

.. Mam komunikaty o błędach, że instancja już istnieje. Przeszukałem trochę i znalazłem kogoś w podobnej sytuacji, otrzymałem radę, że musisz zniszczyć () instancję przed replace (), ale wydaje się to zbyt skomplikowane, aby ustawić inneInicjał wysokość.

W końcu ustawiłem dwie różne konfiguracje i skopiowałem na pasku narzędzi: Pełna właściwość:

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);

Czy jest lepszy sposób? Czy coś mi brakuje? Jestto pytanie ale nie opublikowali wystarczająco dużo, aby były użyteczne, &to bardzo podobne pytanie nie został odebrany. Dzięki!

Aktualizacja:

Wydaje się, że jest to dziwne zachowanie CKEditora w czasie / konfiguracji - konfiguracja jest odczytywana i stosowana później (zgaduję po skonfigurowaniu struktury DOM edytora), a nie po pierwszym utworzeniu instancji.

Wszelkie zmiany ustawień konfiguracji zostały dokonanenatychmiast po pierwszy edytor jest tworzony za pomocą .ckeditor ()faktycznie zastosowane przez edytora w pewnym momencie w ciągu kilku kolejnych milisekund. Twierdzę, że to nie jest normalne zachowanie, ani logiczne.

Na przykład można uzyskać oczekiwane zachowanie w moim pierwszym przykładzie (nadpisującconfig.height właściwość po utworzeniu instancji pierwszego edytora), aby opóźnić drugą instancję CKEditor za pomocą setTimeout (). Firefox potrzebował ~ 100ms, IE potrzebował 1ms. Wacky & wrong.

CKEditor powinien odczytać ustawienia konfiguracyjne, gdy każdy edytor jest tworzony po raz pierwszy. Na razie wszyscy muszą pracować nad tym dziwactwem.

questionAnswers(6)

yourAnswerToTheQuestion