Tôi muốn có nhiều phiên bản của CKEditor dựa trên cùng các cài đặt cấu hình, nhưng có chiều cao khác nhau. Tôi đã cố gắng thiết lập cấu hình với chiều cao mặc định, thiết lập các ví dụ 1, sau đó trọng chiều cao & lập Ví dụ 2:Cách thiết lập CKEditor cho nhiều phiên bản với các độ cao khác nhau?
var config = {
.....
height:'400'
};
$('#editor1').ckeditor(config);
config.height = '100';
$('#editor2').ckeditor(config);
... nhưng tôi nhận được hai trường hợp ckeditor rằng cả hai đều có chiều cao 100px .
Tôi cũng đã cố gắng này:
CKEDITOR.replace('editor2',{
height: '100'
});
.. Tôi đã thông báo lỗi mà trường hợp đã tồn tại. Tôi tìm kiếm xung quanh một chút & tìm thấy ai đó trong tình huống tương tự đã nhận được lời khuyên rằng bạn phải hủy() dụ trước khi thay thế(), nhưng điều đó có vẻ quá phức tạp để chỉ thiết lập chiều cao ban đầu mới.
Cuối cùng tôi thành lập hai configs khác nhau & sao chép trên các tài sản 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);
Có cách nào tốt hơn? Bất cứ điều gì tôi đang mất tích? Có this question nhưng họ không đăng khá đủ để hữu ích, & this very similar question chưa được trả lời. Cảm ơn!
Cập nhật:
Đây dường như là một điều không minh bạch xử lý thời gian/config của ckeditor - cấu hình được đọc & áp dụng sau đó (tôi đoán sau khung DOM của trình soạn thảo đã được thiết lập) chứ không phải là khi trình soạn thảo được khởi tạo lần đầu tiên.
Vì vậy, bất kỳ thay đổi các thiết lập cấu hình làm ngay sau khi trình biên tập 1 được khởi tạo với .ckeditor() là thực sự áp dụng bởi các biên tập viên tại một số điểm trong vài mili giây sau. Tôi cho rằng đây không phải là hành vi bình thường, hay logic. Ví dụ, bạn có thể nhận được hành vi mong đợi trong ví dụ đầu tiên của tôi (ghi đè thuộc tính config.height
sau khi trình soạn thảo đầu tiên được khởi tạo) để làm việc bằng cách trì hoãn thể hiện CKEditor thứ 2 với setTimeout(). Firefox cần ~ 100ms, IE cần 1ms. Wacky & sai.
CKEditor nên đọc cài đặt cấu hình khi mỗi trình chỉnh sửa được khởi tạo lần đầu tiên. Bây giờ, tất cả mọi người phải làm việc xung quanh quirk đó.
tôi vẫn cần tất cả các thiết lập cấu hình khác mặc dù - như xa như tôi có thể nói, đề xuất của bạn không cho phép sử dụng các thiết lập cấu hình khác trong câu hỏi ban đầu của tôi, phải không? – Wick
Tôi đã cập nhật câu trả lời của mình - bây giờ có hữu ích không? :) – Reinmar
Làm tốt công việc trên hàm prototypedCopy()! Tôi chỉ không đồng ý rằng câu hỏi của tôi "không phải về CKEditor" - câu trả lời của bạn về nhân bản đối tượng cấu hình là một giải pháp, nhưng thực tế vẫn là câu hỏi của tôi là về thời gian của CKEditor với cài đặt cấu hình ... – Wick