我剛剛開始使用CKEditor,但很難理解插件系統。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
只有一次被執行,例如,但這不是我如何使用它。每次加載Ajax頁面時,都會執行CKEditor實例,包括我的插件代碼。
這就是爲什麼我使用它來刪除該實例,如果存在的話:
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,
...周圍部分
好的謝謝,這就解釋了爲什麼在頁面使用幾次後FF變慢了很多,我猜... – Dylan 2012-01-08 14:06:59