繁体   English   中英

CKEditor新实例始终被卸载

[英]CKEditor New Instance always unloaded

我在我的Angular应用程序中使用CKEditor,并且每次用户访问新模型时都会重新加载我的CKEditor实例。

我正在使用以下JS来初始化编辑器:

var initEditor = function() {
  $('.js-editor-wrap').html("<textarea id='editor'></textarea>");

  var editor = CKEDITOR.replace('editor', {});

  editor.on('loaded', function() {
    console.log('editor loaded');
  });

  editor.on('instanceReady', function() {
    console.log('instance ready')
  });
}

以下是摧毁编辑:

var destroyEditor = function() {
  if (CKEDITOR.instances['editor']) {
    CKEDITOR.instances['editor'].destroy(true);
    $('#editor').off().remove();
  }
}

第一个编辑器初始化按预期工作,但后续初始化创建一个状态为“unloaded”的编辑器实例,它永远不会触发“loaded”或“instanceReady”事件。 我没有在控制台中看到任何错误。

可能导致这种情况的任何想法?

这绝对是以下类似的问题,但我认为它保证了自己的问题: CKEditor实例已经存在

经过多次挖掘并感谢Jey Dwork的jsfiddle,我找到了问题所在。 我的CKEditor配置文件添加了几个插件,这些插件引用了名称不正确的lang文件。 出于某种原因,当这些插件包含在一起时,它们导致编辑器在第二次初始化期间没有完全加载。

删除lang文件并在插件定义中引用它们解决了这个问题。 太糟糕了,没有一个错误是围绕这个触发的。 尽管如此,一切都很顺利。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM