我根据我的ajax数据生成了多个ckeditor实例,并按需销毁实例,如下所示
for (var i in CKEDITOR.instances)
try{
CKEDITOR.instances[i].destroy();
}catch(e){
CKEDITOR.instances[i] = null;
}
}
我使用给定值的循环生成编辑器。查看plunker
基本上我需要在根据ajax数据加载页面后显示所有编辑器。因此,当我的数据很大时,创建多个实例,然后使用浏览器内存。
按需启动编辑器不是我的要求。如何在页面加载时显示编辑器以及考虑浏览器内存?请建议
答案 0 :(得分:2)
如果我是你,我会使用轻量级inline editor instances。按需创建它们以节省时间并提高性能(plunker):
// http://docs.ckeditor.com/#!/api/CKEDITOR-cfg-disableAutoInline
CKEDITOR.disableAutoInline = true;
function generateEditor( i ) {
return CKEDITOR.dom.element.createFromHtml( '<div contenteditable="true" id="editor' + i + '"></div>' );
}
$(function() {
var holder = CKEDITOR.document.getById( 'holder' ),
el;
for ( var editor = 100; editor--; ) {
el = generateEditor( editor );
holder.append( el );
el.once( 'click', function() {
CKEDITOR.inline( this );
} );
}
console.log( CKEDITOR.instances );
});
此外: