百度富文本編輯器毫無疑問是強大的,但也會出問題。這個問題是在腳本中廣泛存在的,由異步性致使的加載順序問題。dom
咱們使用異步
var ue = UE.getEditor('editor', {});
建立實例。編輯器
並使用性能
ue.setContent("Helllo World!");
初始化內容。spa
可是有時候初始化失敗。插件
緣由是初始化的時候富文本編輯器尚未加載完成。code
這個緣由對於經驗豐富的攻城獅不難想到,由於js的異步問題不是隻在這產生,不少時候都有這種異步致使的加載順序問題。blog
對此頭疼了一成天以後終於找到解決方法,UEdit有個本身的方法,能夠在加載完成後執行。get
ue.ready(function() { ue.setContent(a); //賦值給UEditor });
和document.ready很像,卻很難找,有時候就是這樣,想找一個功能的時候,很難去具體尋找。因此經驗很重要。富文本編輯器
固然咱們還可使用取巧的辦法,好比使用setTimeout延時處理,以跳過加載期。只是window.onload是不行了。
緣由還要追尋到此類插件的實現方式上,此類插件的具體實現並非給定一個完整的dom結構而後進行動做,而是自行使用js建立整個dom結構,那麼像富文本編輯器這樣的就很是耗費性能。加載時間必然不短不說,window.onload是在dom加載完成執行,js的dom插入卻不在此列。