Надеюсь, это кому-нибудь поможет.
Я также загружаю фрагмент страницы с функциональностью CKEDITOR через AJAX, и поэтому у меня возникли многие проблемы, описанные в этом вопросе.Это мое решение:
function setCk(id){
if(window.CKEDITOR){
var _instId = CKEDITOR.instances[id];
if(_instId == undefined){
CKEDITOR.inline(id);
}else{
CKEDITOR.instances[id].destroy();
CKEDITOR.inline(id);
}
}
}
В каждом ответе AJAX для этого фрагмента я вставляю элемент script в голову с помощью вызова setCk (textareaId).Хитрость заключается в том, чтобы уничтожить все предыдущие экземпляры CKEDITOR для идентификатора цели и повторно инициализировать CKEDITOR после каждой загрузки фрагмента AJAX.