关于百度文本编辑器Ueditor使用过程中二次渲染页面失败的问题,第一次好使,第二次不好用了,归根结底就是再返回edit实例的时候,他将创建好的edit对象放到数组里面了,可以看一下源码
UE.getEditor = function (id, opt) {
var editor = instances[id];
if (!editor) {
editor = instances[id] = new UE.ui.Editor(opt);
editor.render(id);
}
return editor;
};
我在网上找了好多资料,都说先删除在创建或者其他的都不好用,网上流传的版本大部分是这样的
UE.delEditor('editor'); //先删除之前实例的对象
UE.getEditor('editor'); //添加编辑器
或者是这样
UE.getEditor('editor').render('editor'); //使用之前的对象(同时渲染DOM)
可能是遇见问题的情况不一样,我反正是无法使用,通过我仔细观察源码发现,既然调用现成的getEdit对象不好用,不如模仿他的写一个,我的解决方案如下
<!-- 实例化编辑器 -->
<script type="text/javascript">
new UE.ui.Editor({
initialFrameHeight:400,
}).render("container");
</script>;
成功解决: