我做了一個文章管理的系統,使用到了百度的富文本編輯,因為簡單易用,所以我直接把編輯器的demo使用iframe的方式加載到頁面中,如下圖
源碼:
<div id="fContent" name="fContent"> <iframe src="~/Content/Scripts/ueditor1_4_3_3/demo.html" style="width:100%;height:450px;" id="iframe_content" scrolling="no" frameborder="0"></iframe> </div>
提交時候,js的代碼如圖
//ueditor參數的獲取 var iframe = document.getElementById("iframe_content"); var iframewindow = iframe.contentWindow; var ue = iframewindow.UE.getEditor('editor'); var Content = escape(ue.getContent());
提交成功。
然后,編輯它,發現報錯了,提示信息如圖:
最終,找到了問題的終結所在,原因是控件還沒有加載完成,就調用了富文本編輯器的這個方法,導致js無法調用到富文本編輯器的內部方法,以致報錯
解決辦法如下:
將js的初始加載方法
更換成
等待加載富文本編輯器,加載內部方法中
讓js本身等待頁面加載完成以后再去調用富文本編輯器,這樣才能調用到,最終的效果圖如下:
好了,有說的不對的還請多多指正!
關注公眾號,提出您的問題,我們會解決您的問題喲!
公眾號:sxmljs