Я только начинаю использовать CKEditor, но с трудом разбираюсь в системе плагинов.
Мне удалось добавить простую кнопку с надписью «Тест», когда вы нажимаете на нее с помощью:
var myplugin_function = function () {
alert('Test');
}
var plugin_name='myplugin';
CKEDITOR.plugins.add(plugin_name,
{
init:function(c) {
c.addCommand(plugin_name,myplugin_function);
c.ui.addButton(plugin_name,
{
label:'This is my plugin',
command:plugin_name,
icon:this.path+'myplugin.png'
});
}
});
Я знаю, что этот код должен выполняться только один раз, например, в plugin.js
, но я не так его использую. Экземпляр CKEditor, включая мой код плагина, выполняется каждый раз при загрузке Ajax-страницы.
Вот почему я использую это для удаления экземпляра, если он существует:
if (CKEDITOR.instances['mytextarea']) {
CKEDITOR.remove(CKEDITOR.instances['mytextarea']);
}
Затем я использую способ jquery, чтобы создать ckeditor из текстовой области:
$('#mytextarea').ckeditor();
Но во время второй загрузки ajax-страницы я получаю сообщение об ошибке, что плагин уже зарегистрирован. Поэтому мне нужен способ удалить плагин и иметь возможность добавить его снова .
Это вообще возможно?
UPDATE
Кажется, это работает:
Теперь я проверяю, зарегистрирован ли плагин:
if (!CKEDITOR.plugins.registered[plugin_name]) {
}
вокруг CKEDITOR.plugins.add(b,
... детали