Plugins CKEditor:如何删除已添加的插件?
我刚刚开始使用CKEditor,但很难理解插件系统 我可以添加一个简单的按钮,当你点击它时,它会显示“测试”:Plugins CKEditor:如何删除已添加的插件?,plugins,ckeditor,Plugins,Ckeditor,我刚刚开始使用CKEditor,但很难理解插件系统 我可以添加一个简单的按钮,当你点击它时,它会显示“测试”: var myplugin_function = function () { alert('Test'); } var plugin_name='myplugin'; CKEDITOR.plugins.add(plugin_name, { init:function(c) { c.addCommand(plugin_name,
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
中,但我不是这样使用它的。每次加载Ajax页面时,都会执行CKEditor实例,包括我的插件代码
这就是为什么我使用此选项删除实例(如果存在):
if (CKEDITOR.instances['mytextarea']) {
CKEDITOR.remove(CKEDITOR.instances['mytextarea']);
}
然后,我使用jquery方法从textarea创建ckeditor:
$('#mytextarea').ckeditor();
但是第二次加载ajax页面时,我发现一个关于插件已经注册的错误。所以我需要一种方法来删除插件,并能够再次添加它
这可能吗
更新
这似乎有效:
我现在检查插件是否已注册到:
if (!CKEDITOR.plugins.registered[plugin_name]) {
}
关于
CKEDITOR.plugins.add(b,
…part你没有展示你是如何添加插件的,所以很难判断你的确切问题是什么;但是从你提供的代码中,我可以建议你使用比“a”、“b”和“c”更好的变量名。用这种方式理解代码相当困难
另外,只需从实例数组中删除实例,但它并不能真正清除已使用的资源,您应该使用CKEDITOR.instances['mytextarea'].相反好的,谢谢,这就解释了为什么在使用了几次页面后FF会慢很多,我想…销毁实例不会删除代码中添加的插件您的更新会停止错误,但我的按钮第二次不起作用