Использование версии 4.4.7Правильно уничтожив экземпляр CKEditor
мои CKEditor нагрузки в модальном окне, которое открывается на странице. Я заметил, что когда я снова открываю модальный, редактор не загружается. Решение заключалось в том, чтобы уничтожить экземпляр, а затем повторно применить его в текстовом поле.
Но я не могу, кажется, уничтожить его правильно. На основании this answer я попытался все следующие попытки, но я получаю сообщение об ошибке:
TypeError: a is null
http://domaim/ckeditor/ckeditor.js
Line 778
Я попробовал следующее (для простоты, я Комбинируя все попытки в одном блоке кода, но они были попробовал один за другим):
var editor = CKEDITOR.instances.mail_message;
if (editor) {
console.log('instance exists');
// ATTEMPT 1:
if (CKEDITOR.instances.mail_message) CKEDITOR.instances.mail_message.destroy();
// --------------------------------------
// ATTEMPT 2:
editor.destroy(true);
// -------------------------------------
// ATTEMPT 3:
CKEDITOR.instances.mail_message.destroy(false);
// --------------------------------------
// ATTEMPT 4:
for(name in CKEDITOR.instances)
{
CKEDITOR.instances[name].destroy()
}
// ---------------------------------------
console.log('destroyed');
}
// RECREATE: (but code errors out before this, with above-mentioned error.
CKEDITOR.replace('mail_message', { toolbar: 'basic' });
UPDATE Я обнаружил, что только с помощью метода replace
воссоздает - даже без разрушения первого. я думаю, это решение.
Спасибо - как уже упоминалось, это идентично мне «попытка 1» выше, которая, похоже, не работает – kneidels