关于使用百度ueditor时的一些问题
本来这些问题直接在百度贴吧里回答不就完事了,可是好死不死的,百度贴吧里老出现
未知错误,错误号: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以后再进行一次这个空元素的处理,但这里暂时不管