赞
踩
1) 官网上下载完整源码包,解压到任意目录,解压后的源码目录结构如下所示:
2) 部署UEditor到实际项目(UETest)中的步骤:
<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>编辑器完整版实例</title> <script type="text/javascript" src="ueditor/editor_config.js"></script> <script type="text/javascript" src="ueditor/editor_all.js"></script> <link rel="stylesheet" href="ueditor/themes/default/ueditor.css"/> </head>需要注意的是,此处的editor_config.js最好先于editor_all.js加载,否则特定情况下可能会出现报错。
<body> <div id="myEditor"></div> <script type="text/javascript"> var editor = new baidu.editor.ui.Editor(); editor.render("myEditor"); </script> </body>若希望给编辑器赋初值,此处的div可换成<script type="text/plain" id="myEditor">初始内容</script>来设置初始内容,编辑器自动完成两者之间的转换,完全不会影响最后的显示效果。
var URL= "./ueditor/"; //这里你可以配置成ueditor目录在您网站的相对路径或者绝对路径(指以http开头的绝对路径这就是我们最后需要配置的结果。从1.1.7.3版本开始,建议在此处配置的路径从相对于服务器根目录开始配置,形如"/mySite/ueditor/",或者采用源码包中editor_config.js中提供的配置方法,以达到最简的部署步骤。至此,一个完整的编辑器实例就已经部署到咱们的项目中了!在浏览器中输入http://localhost/UETest运行下试试UE强大的功能吧!
3) 注意事项
1) 界面配置
var editor = new baidu.editor.ui.Editor({ toolbars:[['Paragraph','RowSpacing','FontFamily','FontSize']] }); editor.render("myEditor");这个时候的编辑就只有四个工具按钮了。关于工具栏的更多高级配置,比如改变布局结构,双栏和单栏混排等等,下文还有专题章节进行完整地介绍,点此马上参观
var editor = new baidu.editor.ui.Editor({ initialContent: '<span style="color:#ccc">欢迎使用ueditor</span>' }); editor.render("myEditor");
var editor = new baidu.editor.ui.Editor({ initialStyle: 'body{margin:8px;font-family:"宋体";font-size:16px;}', iframeCssUrl: 'themes/default/iframe.css' }); editor.render("myEditor");需要注意的是,如果同时配置了这两个参数,那么initialStyle中的配置将优先于iframeCssUrl指向的CSS文件中的配置。另外,由于编辑器中的有些功能效果实现需要依赖于initialStyle中的默认配置,比如框选表格的蓝色背景效果,因此,一般情况下不建议用户删除默认配置项中的默认样式类,除非已经确认不需要对应的功能。
2) 功能配置
serialize : function(){ return { //黑名单,表示不允许任何style、script、link、object、applet和input标签 blackList: {style:1,script:1,link:1,object:1,applet:1,input:1}, //白名单 whiteList: { //表示允许div标签,且其可包含p、span和br标签,style、class属性 div: {p:1,span:1,br:1,$:{style:1,class:1}}, //表示允许img标签,且只能包含href、title和alt属性 img: {$:{href:1,title:1,alt:1}} } } }()
1) Editor实例下的API介绍
UEditor目前向外部提供了不包括构造函数在内的12个方法,具体的类图如下:
每个方法的使用方法和示例将会在API列表中给出,点此下载。
2) 前后端数据交互
<form id="myForm" action="getContent.php" method="post"> <script type="text/plain" id="myEditor">这里可以填写一些初始化内容</script> <input type="submit" value="Form内部提交数据" /> </form> <script type="text/javascript"> var editor = new baidu.editor.ui.Editor({ textarea:'myValue' }); editor.render("myEditor"); </script>
if(editor.hasContents()){ //提交条件满足时提交内容 editor.sync(); //此处的editor是页面实例化出来的编辑器对象 document.getElementByIdx_x('myForm').submit(); }
<form action="getContent.php" method="post" id="form"> <script type="text/plain" id="myEditor"> <?php htmlspecialchars_decode(getContentFromMysql())?> </script> </form>
<form action="getContent.php" method="post" id="form"> <script type="text/plain" id="myEditor"></script> </form> <script type="text/javascript"> var editor = new baidu.editor.ui.Editor({textarea:'myValue'}); editor.render("myEditor"); </script> <?php $content = htmlspecialchars_decode(getContentFromMysql()); echo "<script>editor.setContent('".$content."')</script>"; ?>需要注意的是,此处的echo语句必须在页面已经完成了编辑器的初始化之后才能调用,否则会出现JS代码报错。因此一般推荐使用第一种方式来初始化从服务器返回的文档内容。
3)
首先来看前端部分的文件及其配置。打开dialogs/image文件夹,我们可以发现四个文件:
{'url':'../uploadfiles/23123213.jpg','title':'描述','state':'SUCCESS'}
PS:JSP版的图片上传采用了commons-fileupload包,请先下载commons-fileupload-1.2.2.jar,并将其加入到项目中的WEB-INF/lib/目录下方可正常使用
事件名 | 说明 |
---|---|
ready | 编辑器渲染完成 |
beforegetcontent | 获得内容之前 |
aftergetcontent | 获得内容之后 |
beforesetcontent | 设置内容之前 |
aftersetcontent | 设置内容之后 |
beforeselectionchange | 在选区改变之前触发 |
selectionchange | 改变选区触发 |
beforeexeccommand | 在执行命令之前触发 |
afterexeccommand | 执行命令之后触发 |
reset | 重新初始化 |
baidu.editor.commands['rowspacing'] = { //查询当前命令状态,对应到工具栏上,返回1代表高亮,返回0代表可执行,返回-1代表不可用(置灰) //cmdName不可省略 queryCommandState: function (cmdName) {}, //命令执行主体 //当没有value参数时,cmdName可省略。 execCommand: function (cmdName, value) {}, //获取命令执行结果 //cmdName不可省略 queryCommandValue:function (cmdName) {} }
queryCommandState : function(){ return this.highlight ? -1 :0; }
execCommand : function( cmdName,value ) { this.execCommand('paragraph','p',{'padding' : value + 'px 0'}); return true; }
baidu.editor.plugins['table'] = function() { var me = this; //注册鼠标和键盘事件 me.addListener('mousedown', _mouseDownEvent); me.addListener('keydown', function(type, evt) {}); me.addListener('mouseup', function() {}); //注册插入表格命令 me.commands['inserttable'] = { queryCommandState: function (cmdName) {}, execCommand: function (cmdName, tableobj) {}, queryCommandValue:function (cmdName) {} } //注册删除表格命令 me.commands['deletetable'] = { queryCommandState: function (cmdName) {}, execCommand: function (cmdName) {}, queryCommandValue:function (cmdName) {} } }
<script type="text/javascript"> var editor = new baidu.editor.ui.Editor({ toolbars:[[ 'ForeColor','BackColor',InsertTable]] }); editor.render('myEditor'); </script>
整理中……
集成步骤:
集成步骤:
集成步骤:
整理中……
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。