使用ckeditor.tools.bind添加解绑定ckeditor事件

时间:2017-02-02 10:02:28

标签: javascript ckeditor

我们的网络应用会定期创建和销毁ckeditor编辑器。我们看到Chrome中存在内存泄漏,在分析之后,由于调用了ckeditor.tools.bind,似乎对ckeditor的引用仍然存在。 editor.destroy应该删除这些绑定吗?如果没有,有没有办法自己删除它们?

显示问题的示例代码(添加超时以查看时间是否是问题)

var editor;

    function replaceDiv() {
        if ( editor ) {
            editor.destroy();
        }
        setTimeout(function() { 
            editor = CKEDITOR.replace(document.getElementById("editable2"));
            setTimeout( function() { replaceDiv()}, 1000);
        }, 1000);
    }

1 个答案:

答案 0 :(得分:0)

潜在的问题是我有另一个始终处于活动状态的编辑器。当最后一个编辑器被销毁时,ckeditor似乎做了一些特殊的内务处理。由于我们从未达到过零编辑,因此这个内务管理没有启动。我会根据需要创建和销毁我们的其他编辑器,因为它并不总是可见