本來這些問題直接在百度貼吧里回答不就完事了,可是好死不死的,百度貼吧里老出現
未知錯誤,錯誤號:230274
看來還是算了,自己做一個隨筆記錄一下好了
關于我們獲取里面的內容時,老是會有一個<p>來包著,而且還老是多出來一個<br/>
這邊是這么處理的
在_src/core/Editor.js約L843左右
//給文本或者inline節點套p標簽
if (me.options.enterTag == 'p') {
而這個me.options是來自于我們的配置文件,從而得知,我們配置文件里是有這個enterTag的屬性的
所以初始化時加入
var ue = UE.getEditor('editor1',{
toolbars:[['bold','italic','forecolor','backcolor']],//工具欄
autosave:false,//自動保存
elementPathEnabled:false,//輸入框下面的路徑信息
maxInputCount:1,//多少字符長度的變化時觸動自動保存
wordCount:true,//是否開啟字數統計
maximumWords:20000,//最大輸入字符
autoClearinitialContent:true,
focus:true,
autoFloatEnabled:false,//是否保持工具欄不動
enterTag:false,
});
我們獲取的內容就沒有p標簽了
?
上面的配置里有一個autosave這個屬性,也是這樣發現的,就是去除自動保存功能
?
對于多出來的<br/>
這邊的處理方式是直接匹配掉最后面的
content_old = content_old.replace(new RegExp('((\<br\/\>)+)$'),'');
?
而為了不出現類似XXXX<em><br/><br/><br/></em>
的現象,在htmlparse.js添加如下信息
htmlstr = htmlstr.replace(new RegExp('(\<br\/\>)+\<\/'),'</');
htmlstr = htmlstr.replace(new RegExp(domUtils.fillChar, 'g'), '');
但是這樣添加以后,當次編輯不會生效,要再次點擊以后才會生效,這也怕有人想在<br/>后添加內容,
其實最好的還是在獲取了content以后再進行一次這個空元素的處理,但這里暫時不管