Старый вопрос, но только для справки, так как эта проблема сохраняется в текущих версиях обоих модулей.
Лучший способ обойти это, как мне кажется, состоит в том, чтобы создать элемент ckeditor только после небольшого тайм-аута.
Так что в этом примере страница .html имеет текстовую область с идентификатором 'ckeditor-textara'. Задерживая дробь, я могу заставить свою текстовую область рендериться более надежно. (компромисс - лишь небольшая задержка доступности ckeditor)
$.fancybox({
'type' : 'ajax',
'autoDimensions' : true,
href : '/scat-porn.html',
onComplete : function () {
setTimeout(function() {
CKEDITOR.replace( 'ckeditor-textarea',
{
toolbar : 'Basic',
mode : 'wysiwyg'
});
}, 500);
},
...
});
Fancybox не очень хорошо играет с ck; я думаю, потому что это делает кучу копирования контента ajax, который портится с DOM (хотя я не потратил слишком много времени, чтобы проверить это как точную причину) Задержка ckeditor до тех пор, пока onComplete не закончил, работает намного лучше.