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文件并在插件定义中引用它们解决了这个问题。遗憾的是,没有引发任何错误。不过结局好就好。
相关文章:
- 火灾在卸载前确认警报仅适用于外部站点
- 如何使AngularJS控制器依赖于通过ajax加载在rootScope上的值
- 使用TypeScript和Promises异步加载/卸载内容
- 加载/卸载单击Javascript
- 如何在显示 pdf 文件之前加载加载程序图像
- 卸载加载的 Javascript
- 如何使用jQuery图像库插件加载加载本地图像
- Datatables.net ajax 重新加载加载消息
- 函数适用于非动态加载的图像
- 使用数据属性的引导粘贴仅适用于页面重新加载
- 浏览器在运行使用json的ajax函数后继续加载(加载指示器一直在旋转)
- Jquery只适用于第一页加载(ajax异教)
- 动态加载/卸载外部JS
- 如何触发一些javascript一旦html(已通过ajax加载)加载
- PyQt5 QWebView:加载加载.js文件的.html文件
- 加载"加载"先给厨房拍照
- Javascript加载/卸载获取PHP $_SESSION变量
- web应用程序——动态加载/卸载Javascript
- 在 JavaScript 帮助中卸载加载之前
- 如何将$(document).ready()重新应用于通过AJAX加载的部分HTML