Я использую диалоги jquery для представления форм (выбираемых через AJAX). В некоторых формах я использую CKEditor для текстовых областей. Редактор отображает штраф при первой загрузке.
Когда пользователь отменяет это диалоговое окно, я удаляю содержимое, чтобы оно было загружено свежим при последующем запросе. Проблема в том, что после перезагрузки диалога CKEditor утверждает, что редактор уже существует.
uncaught exception: [CKEDITOR.editor] The instance "textarea_name" already exists.
API включает в себя метод уничтожения существующих редакторов, и я видел, как люди утверждают, что это решение:
if (CKEDITOR.instances['textarea_name']) {
CKEDITOR.instances['textarea_name'].destroy();
}
CKEDITOR.replace('textarea_name');
Это не работает для меня, поскольку вместо этого я получаю новую ошибку:
TypeError: Result of expression 'i.contentWindow' [null] is not an object.
Эта ошибка, похоже, встречается на "destroy()", а не на "replace()". Кто-нибудь испытал это и нашел другое решение?
Возможно ли "повторно отобразить" существующий редактор, а не уничтожить его и заменить?
ОБНОВЛЕНО Вот еще один вопрос, касающийся одной и той же проблемы, но он предоставил загружаемый тестовый пример.