UEditor的使用

UEditor 是目前项目正在使用的富文本编辑器。

基本知识

————————————————————————————————————

1.依赖:不依赖任何第三方库,可单独使用

2.使用:

(1)文件管理:为简化管理开发,建议将UEditor单独放在一个文件夹内,不建议重新组织文件结构(可删除example、src等文件夹)

(2)引入及初始化:需要引入css、js文件

 

①引入[以下是经验频道的引入源码]

1
2
3
<link href="/RichTextEditor/themes/default/ueditor.css"rel="stylesheet"type="text/css"/> 
<script type="text/javascript" src="/RichTextEditor/editor_config.js?ver=$revxxx"> </script>
<script type="text/javascript" src="/RichTextEditor/editor_all.js?ver=$revxxx"></script>

至于其他所需的图片,flash等资源文件,程序会自动处理,所以不建议更改源文件的组织结构

 

②初始化

1
2
<script type="text/plain"id="editor"style="width:504px"name="content">//还可以用textarea作为初始容器    ${exp.content}  
</script>

     说明:将初始值放在script标签内,记住,要设置script的 type属性设为"text/plain" ,name属性设为字段名称

     另外,这里只建议使用script标签或textarea标签,其他的也可以,但是可能会有引起其他问题,不推荐

 

③配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript">
 var editor = new baidu.editor.ui.Editor({
  toolbars:[['bold', 'italic','underline','|','forecolor','|','insertunorderedlist','insertorderedlist']],
       elementPathEnabled:false,
       minFrameHeight:170,
       pasteFilter : true,
       clearFontSize : true,
       clearFontFamily : true,
       removeClass : true,
       pasteplain : true,
      serialize:{ blackList:{style:1, link:1,object:1, applet:1, input:1,meta:1, base:1, button:1, select:1,, 'map':1, 'area':1,"img":1,"script":1} }
  });
  editor.render("editor");//参数为容器标签的id  
</script>

注意:尽量保证实例变量(editor)为全局变量

(3)配置说明:

上一步(2-3)的配置字段,全部来源于editor_all.js文件,但是不建议直接在editor_all.js里改,应该在初始化时配置

需要强调的几条:

toolbar:应该传入[嵌套]数组,每个数组为一行,"|"为分割符

textarea:为字段名称(也可以在容器的name设置)

enterTag:输入回车时,是加 P标签 还是 BR标签

(4)取值:

①直接FORM提交

只要设置了字段名称(容器的name属性或者初始化时textarea属性),就可以自动form提交

注:在使用过程中发现,若一个页面实例化了多个UEditor,只有第一个会自动表单提交[不知新版是否已优化?],解决方法可参考后台招聘管理频道下的页面

②需要把值取出处理

editor.getContent();//已进行了编码处理

 

 

安全相关

——————————————————————————————————————

由于富文本编辑器中可能有HTML标签,这样就会给页面带来样式冲突。而script标签是一定要过滤掉的

初始化时设置serialize字段可达到目的:

1
serialize:{  blackList:{style:1, link:1,object:1, applet:1, input:1,meta:1, base:1, button:1, select:1, textarea:1, '#comment':1, 'map':1, 'area':1,"img":1,"script":1}  }

即将需要过滤的字段设为"1"

 
posted @ 2013-05-17 11:10  bluthly  阅读(928)  评论(0编辑  收藏  举报