关于百度富文本编辑器UEdit的初始化内容失败问题

百度富文本编辑器毫无疑问是强大的,但也会出问题。这个问题是在脚本中普遍存在的,由异步性导致的加载顺序问题。

我们使用

var ue = UE.getEditor('editor', {});

创建实例。

并使用

ue.setContent("Helllo World!");

初始化内容。

但是有时候初始化失败。

原因是初始化的时候富文本编辑器还没有加载完成。

这个原因对于经验丰富的攻城狮不难想到,因为js的异步问题不是只在这产生,很多时候都有这种异步导致的加载顺序问题。

对此头疼了一整天之后终于找到解决方法,UEdit有个自己的方法,可以在加载完成后执行。

ue.ready(function() {
    ue.setContent(a);  //赋值给UEditor
});

和document.ready很像,却很难找,有时候就是这样,想找一个功能的时候,很难去具体寻找。所以经验很重要。

当然我们还可以使用取巧的办法,比如使用setTimeout延时处理,以跳过加载期。只是window.onload是不行了。

原因还要追寻到此类插件的实现方式上,此类插件的具体实现并不是给定一个完整的dom结构然后进行动作,而是自行使用js创建整个dom结构,那么像富文本编辑器这样的就非常耗费性能。加载时间必然不短不说,window.onload是在dom加载完成执行,js的dom插入却不在此列。

转载于:https://www.cnblogs.com/yunzhexiaye/p/6815914.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值