1. 程式人生 > >關於百度富文本編輯器UEdit的初始化內容失敗問題

關於百度富文本編輯器UEdit的初始化內容失敗問題

ueditor 跳過 .get {} ted span 找到 百度富文本編輯器 關於

百度富文本編輯器毫無疑問是強大的,但也會出問題。這個問題是在腳本中普遍存在的,由異步性導致的加載順序問題。

我們使用

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插入卻不在此列。

關於百度富文本編輯器UEdit的初始化內容失敗問題