ueditor文本编辑器

合集下载

UEditor富文本编辑器上传图片配置

UEditor富文本编辑器上传图片配置

UEditor富⽂本编辑器上传图⽚配置UEditor 上传⽂件不进⾏配置的话,是⽆法使⽤的。

然后下载符合⾃⼰项⽬的版本,我是⽤的asp版,其实都⼀样,因为基本不需要你进⾏编码
解压后⾥⾯是这个样⼦的
把整个⽂件夹都扔进项⽬,然后我们就要开始配置了
打开ueditor.config.js,看⼀下serverUrl是不是指向controller.asp,如果不是就改为指向controller.asp。

接下来打开asp⽂件夹中的config.json
⾥⾯图⽚上传相关的配置有两个地⽅
⾃带的注释已经写得很详细了,就不多做解释了
如果上传的图⽚位置不对
改 imagePathFormat
如果上传时正常,上传后在富⽂本编辑器中显⽰时路径不对
改 imageUrlPrefix
如果上传时和富⽂本中都正常,但是多图上传→在线管理的路径不对
改 imageManagerUrlPrefix
第⼀张图是上传功能的相关配置,第⼆张图则是多图上传→在线管理的相关配置
到这⾥就配置完了
config.json⾥还有上传⽂件的相关配置,需要的话也可以⾃⼰看看,应该和图⽚没什么区别。

百度ueditor富文本编辑器实现上传文件、图片、视频到ftp服务器并在页面端回显

百度ueditor富文本编辑器实现上传文件、图片、视频到ftp服务器并在页面端回显

百度ueditor富⽂本编辑器实现上传⽂件、图⽚、视频到ftp服务器并在页⾯端回显之前⼀直⽤ueditor作为富⽂本编辑器,想要实现图⽚上传到ftp的功能,⽹上搜索了⼀圈,发现都感觉讲的不是很明⽩,⽽且有不少要引⼊其他的java代码,最近⾃⼰试了⼀下,终于调通了,希望能帮到各位。

废话不多说,查看步骤。

(注意,这个是springboot版本,其实springmvc的也差不多,有⼀点点不同,最后我会说明)1.将utf8-jsp的整个⽂件夹复制到resources的static⽬录下,打开之后⽬录如下。

项⽬⽬录如下(我多加了⼀层ueditor⽬录,不过也⼀样)2.写两个controller,代码如下(请忽略楼主潦草的代码,⾃⼰拿回去调整⼀下,修改⼀下UploadController中ftp的地址,密码即可,总共有三个地⽅)1.UploadControllerpackage com.wang.controller;import lombok.extern.slf4j.Slf4j;import mons.fileupload.FileItem;import mons.fileupload.disk.DiskFileItemFactory;import mons.fileupload.servlet.ServletFileUpload;import .ftp.FTP;import .ftp.FTPClient;import .ftp.FTPConnectionClosedException;import .ftp.FTPReply;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import javax.imageio.ImageIO;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.awt.image.BufferedImage;import java.io.*;import .URLEncoder;import java.text.SimpleDateFormat;import java.util.*;@RequestMapping("/ueditor/file")@Controller@Slf4jpublic class UploadController {private FTPClient ftpClient = new FTPClient();private Logger logger = LoggerFactory.getLogger(UploadController.class);//上传图⽚并回显@RequestMapping("/uploadImg")@ResponseBodypublic Map<String,Object> upload(HttpServletRequest request) throws Exception {Map<String ,Object> map = new HashMap<>();// 判断enctype属性是否为multipart/form-databoolean isMultipart = ServletFileUpload.isMultipartContent(request);if (!isMultipart)throw new IllegalArgumentException("上传内容不是有效的multipart/form-data类型.");// Create a factory for disk-based file itemsDiskFileItemFactory factory = new DiskFileItemFactory();// Create a new file upload handlerServletFileUpload upload = new ServletFileUpload(factory);FileItem item = (FileItem) iter.next();// 如果是⽂件字段String fieldName = item.getFieldName();String orginFileName = item.getName();String imgSunffix = orginFileName.substring(stIndexOf(".")); String uuid = UUID.randomUUID().toString().replaceAll("-", "");String fileName = uuid+imgSunffix;// String contentType = item.getContentType();// boolean isInMemory = item.isInMemory();// long sizeInBytes = item.getSize();// String filePath = STORE_FILE_DIR + fileName;//写⼊⽂件到当前服务器磁盘// File uploadedFile = new File(filePath);SimpleDateFormat formatPath = new SimpleDateFormat("yyMMdd");SimpleDateFormat fromahhPath = new SimpleDateFormat("HH");String yyMMdd = formatPath.format(new Date());String hours = fromahhPath.format(new Date());String ftpfilePath = yyMMdd + "/" + hours;// FileInputStream fileInputStream = (FileInputStream) item.getInputStream(); InputStream inputStream = item.getInputStream();BufferedInputStream bufferedInputStream = null;bufferedInputStream = new BufferedInputStream(inputStream);FTPClient ftp = new FTPClient();try {int reply;ftp.connect("11111", 21);// 连接FTP服务器// 如果采⽤默认端⼝,可以使⽤ftp.connect(url)的⽅式直接连接FTP服务器 ftp.login("11111", "11111");// 登录ftp.setFileType(FTP.BINARY_FILE_TYPE);ftp.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);reply = ftp.getReplyCode();if(!FTPReply.isPositiveCompletion(reply)){ftp.disconnect();throw new IOException("ftp登录失败");}for (String str:ftpfilePath.split("/")){ftp.makeDirectory(str);ftp.changeWorkingDirectory(str);}boolean tag = ftp.appendFile(fileName,bufferedInputStream);if(!tag){throw new Exception("保存到FTP失败");}}catch (Exception e){e.printStackTrace();}finally {try {inputStream.close();ftp.logout();} catch (IOException e) {e.printStackTrace();}if(ftp.isConnected()){try {ftp.disconnect();}catch (IOException e){e.printStackTrace();}}}String path = "/"+ftpfilePath+"/"+fileName;// item.write(uploadedFile);map.put("state","SUCCESS");map.put("url",path);map.put("title",orginFileName);map.put("original",orginFileName);}// response.setCharacterEncoding("UTF-8");// response.getWriter().println("上传成功");return map;}//回显图⽚// imgPath = "ftpfile\\upload\\11.png";OutputStream os = null;ftp = new FTPClient();ftp.setConnectTimeout(1000 * 30);//设置连接超时时间ftp.setControlEncoding("utf-8");//设置ftp字符集ftp.enterLocalPassiveMode();//设置被动模式,⽂件传输端⼝设置try {int reply;ftp.connect("11111", 21);// 连接FTP服务器// 如果采⽤默认端⼝,可以使⽤ftp.connect(url)的⽅式直接连接FTP服务器ftp.login("11111", "11111");// 登录ftp.setFileType(FTP.BINARY_FILE_TYPE);ftp.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);reply = ftp.getReplyCode();if (!FTPReply.isPositiveCompletion(reply)) {ftp.disconnect();throw new IOException("FTP登录失败");}//下载⽂件 FTP协议⾥⾯,规定⽂件名编码为iso-8859-1,所以读取时要将⽂件名转码为iso-8859-1//如果没有设置按照UTF-8读,获取的流是空值nullin = ftp.retrieveFileStream(new String(imgPath.getBytes("UTF-8"), "iso-8859-1"));String picType = imgPath.split("\\.")[1];BufferedImage bufImg = null;bufImg = ImageIO.read(in);os = response.getOutputStream();ImageIO.write(bufImg, picType, os);} catch (IOException e) {e.printStackTrace();} finally {try {in.close();// 在这⾥关闭,保证⼀定要关闭ftp.logout();// 在这⾥登出,保证⼀定要登出} catch (IOException e) {e.printStackTrace();}if (ftp.isConnected()) {try {ftp.disconnect();} catch (IOException ioe) {}}}response.setContentType("image/jpg");}/*** 下载⽂件到浏览器* @param response* @throws IOException*/@RequestMapping("/downloadFile.do")@ResponseBodypublic void downFile(@RequestParam("path")String path, HttpServletResponse response) throws IOException {// 获取ftp信息// 获取⽂件名称String[] strs = path.split("/");String downloadFile = strs[strs.length - 1];try {// 设置⽂件ContentType类型,这样设置,会⾃动判断下载⽂件类型response.setContentType("application/x-msdownload");// 设置⽂件头:最后⼀个参数是设置下载的⽂件名并编码为UTF-8response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(downloadFile, "UTF-8")); // 建⽴连接connectToServer();ftpClient.enterLocalPassiveMode();// 设置传输⼆进制⽂件int reply = ftpClient.getReplyCode();// ftpClient.changeWorkingDirectory("./home/ftp");if(!FTPReply.isPositiveCompletion(reply)) {ftpClient.disconnect();throw new IOException("failed to connect to the FTP Server:"+21);}// 此句代码适⽤Linux的FTP服务器String newPath = new String(path.getBytes("GBK"),"ISO-8859-1");bis = new BufferedInputStream(is);OutputStream out = response.getOutputStream();byte[] buf = new byte[1024];int len = 0;while ((len = bis.read(buf)) > 0) {out.write(buf, 0, len);}out.flush();} catch (Exception e) {e.printStackTrace();} finally {closeConnect();if (bis != null) {try {bis.close();} catch (IOException e) {e.printStackTrace();}}if (is != null) {try {is.close();} catch (IOException e) {e.printStackTrace();}}}} catch (FTPConnectionClosedException e) {logger.error("ftp连接被关闭!", e);throw e;} catch (Exception e) {logger.error("ERR : upload file "+ downloadFile+ " from ftp : failed!", e);}}/*** 连接到ftp服务器*/private void connectToServer() throws Exception {// ftpClient.connect(server,21);if (!ftpClient.isConnected()) {int reply;try {ftpClient=new FTPClient();ftpClient.connect("111111", 21);// 连接FTP服务器// 如果采⽤默认端⼝,可以使⽤ftp.connect(url)的⽅式直接连接FTP服务器ftpClient.login("111111", "111111");// 登录reply = ftpClient.getReplyCode();if (!FTPReply.isPositiveCompletion(reply)) {ftpClient.disconnect();("connectToServer FTP server refused connection.");}}catch(FTPConnectionClosedException ex){logger.error("服务器:IP:"+21+"没有连接数!there are too many connected users,please try later", ex); throw ex;}catch (Exception e) {logger.error("登录ftp服务器【"+21+"】失败", e);throw e;}}}/**** 功能:关闭连接*/public void closeConnect() {try {if (ftpClient != null) {ftpClient.logout();ftpClient.disconnect();}} catch (Exception e) {logger.error("ftp连接关闭失败!", e);} 2.ServerControllerpackage com.wang.controller;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.baidu.ueditor.ActionEnter;import org.springframework.core.io.ClassPathResource;import org.springframework.stereotype.Controller;import org.springframework.util.ClassUtils;import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;//ueditor单独上传的controller@Controllerpublic class ServerController {@RequestMapping("/configNew")public void config(HttpServletRequest request, HttpServletResponse response){response.setContentType("application/json");// String res = ClassUtils.getDefaultClassLoader().getResource("km").getPath();// System.out.println("res:"+res);System.out.println("路径:"+ClassUtils.getDefaultClassLoader().getResource("").getPath());// String rootPath = ClassUtils.getDefaultClassLoader().getResource("../../").getPath() + "static/ueditor/jsp"; String rootPath = ClassUtils.getDefaultClassLoader().getResource("").getPath() + "static/ueditor/jsp";System.out.println("root路径:"+rootPath);try {response.setCharacterEncoding("UTF-8");String exec = new ActionEnter(request, rootPath).exec();System.out.println(exec);PrintWriter writer = response.getWriter();writer.write(new ActionEnter(request, rootPath).exec());writer.flush();writer.close();} catch (IOException e) {e.printStackTrace();}}// public void getUEConfig(HttpServletRequest request, HttpServletResponse response){// org.springframework.core.io.Resource res = new ClassPathResource("config.json");// InputStream is = null;// response.setHeader("Content-Type" , "text/html");// try {// is = new FileInputStream(res.getFile());// StringBuffer sb = new StringBuffer();// byte[] b = new byte[1024];// int length=0;// while(-1!=(length=is.read(b))){// sb.append(new String(b,0,length,"utf-8"));// }// String result = sb.toString().replaceAll("/\\*(.|[\\r\\n])*?\\*/","");// JSONObject json = JSON.parseObject(result);// PrintWriter out = response.getWriter();// out.print(json.toString());// } catch (IOException e) {// e.printStackTrace();// }finally {// try {// is.close();// } catch (IOException e) {// e.printStackTrace();// }// }// }} 3.修改ueditor.config.jsvar URL = window.UEDITOR_HOME_URL || getUEBasePath();var server_url = window.location.protocol+"//"+window.location.hostname+":"+window.location.port;/*** 配置项主体。

UI之富文本编辑器使用详解(杰瑞教育原创)

UI之富文本编辑器使用详解(杰瑞教育原创)
见即所得的富文本编辑器,具有轻量、可定制、注重用户体验的特点。
在这里要注意,config.js文件应该在前。
窗体顶端
<="" action="<%=request.getContextPath() %>/main/contractServlet.action" p="">
通过请求servlet在servlet中调用业务方法将保存在数据库中的合同模板信息加载后保存在request中并通过转发到合同编辑页面在页面中将数据取出并在初始化ueditor时赋值
UI之富文本编辑器使用详解(杰瑞教育原创)
UI之富文本编Biblioteka 器-UEditor在做Web应用时,经常会进行富文本编辑,常用的富文本编辑器有很多,比如CuteEditor、CKEditor、NicEditor、KindEditor、UEditor等等。
method="post">
窗体底端

UEditor编辑器使用示例

UEditor编辑器使用示例

UEditor编辑器使⽤⽰例1. UEditor下载 UEditor是由百度web前端研发部开发所见即所得富⽂本web编辑器,具有轻量,可定制,注重⽤户体验等特点,开源基于MIT协议,允许⾃由使⽤和修改代码。

下载链接:2. 初始化编辑器2.1 script初始化 HTML代码:<!DOCTYPE html><html><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>UEditor⽰例</title><script type="text/javascript" src="/Plugins/ueditor/ueditor.config.js"></script><script type="text/javascript" src="/Plugins/ueditor/ueditor.all.js"></script></head><body><script id="container" type="text/plain"></script><script type="text/javascript">var ue = UE.getEditor("container");</script></body></html> 效果图:2.2 TextArea初始化 HTML代码:<!DOCTYPE html><html><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>UEditor⽰例</title><script src="/Plugins/ueditor/ueditor.config.js"></script><script src="/Plugins/ueditor/ueditor.all.js"></script></head><body><textarea cols="20" id="Remark" name="Remark" rows="2"></textarea><script type="text/javascript">var editor = new baidu.editor.ui.Editor();editor.render("Remark");</script></body></html>。

ueditor 用法

ueditor 用法

ueditor 用法UEditor是一个基于JavaScript的所见即所得的富文本编辑器,可以方便地集成到网页中。

以下是UEditor的用法:1. 引入UEditor的文件:在网页中引入UEditor的核心文件和配置文件。

html<script type="text/javascript" src="ueditor.config.js"></script><script type="text/javascript" src="ueditor.all.min.js"></script>2. 创建一个用于显示编辑器的div元素:html<div id="editor"></div>3. 初始化UEditor实例:javascriptvar ue = UE.getEditor('editor');这将创建一个UEditor实例,并将其绑定到id为"editor"的div元素上。

4. 获取编辑器内容:javascriptvar content = ue.getContent();使用`getContent()`方法可以获取编辑器中的HTML内容。

5. 设置编辑器内容:javascriptue.setContent('这是新的内容');使用`setContent()`方法可以设置编辑器的内容为指定的HTML。

除了上述基本用法外,UEditor还支持各种自定义配置和方法,如设置工具栏、上传图片、自定义菜单等。

详细使用方法和配置可以参考UEditor的官方文档。

Ueditor百度富文本编辑器添加h5手机端预览功能

Ueditor百度富文本编辑器添加h5手机端预览功能

Ueditor百度富⽂本编辑器添加h5⼿机端预览功能⼀、需求分析项⽬中⽤到富⽂本编辑器的地⽅很多,富⽂本编辑器⼀般都是在pc后台上,因为前端是⼿机端,因此每次再富⽂本编辑内容保存以后,在⼿机端展⽰的样式和我们在富⽂本中编辑的不太⼀样,因此就需要在编写完内容之后可以模拟⼿机端进⾏预览⼀下,但是后端⽤富⽂本编辑器的地⽅⽐较多,不适合在每个页⾯进⾏开发,因此做成插件功能放⼊ueditor之中的⽅式改动的代价⽐较⼩。

⾸先看下效果⼆、代码先在ueditor.css中添加按钮样式图⽚:路径:ueditor\themes\default\css\ueditor.css/*⼿机预览样式*/.edui-default i-icon{background-image: url("../images/previewMobile.png");}然后在 ueditor\themes\default\images 中添加 iphone-bg.png 和 previewMobile.png 图⽚;在ueditor\themes\default ⽬录下创建 html⽬录,将preview.html页⾯放⼊。

提取码:zhkj在ueditor.config.js中toolbars⾥加⼀个按钮 previewMobiletoolbars: [['source', //源代码'anchor', //锚点'undo', //撤销'redo', //重做'bold', //加粗'indent', //⾸⾏缩进'snapscreen', //截图'italic', //斜体'underline', //下划线'strikethrough', //删除线'subscript', //下标'fontborder', //字符边框'superscript', //上标'formatmatch', //格式刷'blockquote', //引⽤'pasteplain', //纯⽂本粘贴模式'selectall', //全选'print', //打印'preview', //预览'horizontal', //分隔线'removeformat', //清除格式'time', //时间'date', //⽇期'unlink', //取消链接'insertrow', //前插⼊⾏'insertcol', //前插⼊列'mergeright', //右合并单元格'mergedown', //下合并单元格'deleterow', //删除⾏'deletecol', //删除列'splittorows', //拆分成⾏'splittocols', //拆分成列'splittocells', //完全拆分单元格'deletecaption', //删除表格标题'inserttitle', //插⼊标题'mergecells', //合并多个单元格'deletetable', //删除表格'cleardoc', //清空⽂档'insertparagraphbeforetable', //"表格前插⼊⾏"'insertcode', //代码语⾔'fontfamily', //字体'fontsize', //字号'paragraph', //段落格式'simpleupload', //单图上传'insertimage', //多图上传'edittable', //表格属性'edittd', //单元格属性'link', //超链接'emotion', //表情'spechars', //特殊字符'searchreplace', //查询替换// 'map', //Baidu地图// 'gmap', //Google地图'insertvideo', //视频'help', //帮助'justifyleft', //居左对齐'justifyright', //居右对齐'justifycenter', //居中对齐'justifyjustify', //两端对齐'forecolor', //字体颜⾊'backcolor', //背景⾊'insertorderedlist', //有序列表'insertunorderedlist', //⽆序列表'fullscreen', //全屏'directionalityltr', //从左向右输⼊'directionalityrtl', //从右向左输⼊'rowspacingtop', //段前距'rowspacingbottom', //段后距// 'pagebreak', //分页'insertframe', //插⼊Iframe'imagenone', //默认'imageleft', //左浮动'imageright', //右浮动'attachment', //附件'imagecenter', //居中// 'wordimage', //图⽚转存'lineheight', //⾏间距'edittip ', //编辑提⽰'customstyle', //⾃定义标题'autotypeset', //⾃动排版// 'webapp', //百度应⽤'touppercase', //字母⼤写'tolowercase', //字母⼩写'background', //背景'template', //模板'scrawl', //涂鸦'music', //⾳乐'inserttable', //插⼊表格'drafts', // 从草稿箱加载'charts', // 图表'previewMobile' // 预览]]添加中⽂说明(⿏标放上去中⽂显⽰)labelMap:{'previewMobile':'⼿机预览'}在ueditor.all.js中 btnCmds 加⼊ previewMobile//为⼯具栏添加按钮,以下都是统⼀的按钮触发命令,所以写在⼀起var btnCmds = ['undo', 'redo', 'formatmatch','bold', 'italic', 'underline', 'fontborder', 'touppercase', 'tolowercase','strikethrough', 'subscript', 'superscript', 'source', 'indent', 'outdent','blockquote', 'pasteplain', 'pagebreak','selectall', 'print','horizontal', 'removeformat', 'time', 'date', 'unlink','insertparagraphbeforetable', 'insertrow', 'insertcol', 'mergeright', 'mergedown', 'deleterow','deletecol', 'splittorows', 'splittocols', 'splittocells', 'mergecells', 'deletetable', 'drafts','previewMobile'];然后在 getEditor和 ui.Editor 中添加创建遮罩层代码在这两个⾥⾯都加是因为使⽤不规范问题,ue推荐⼤家在获得ueditor时使⽤⼯⼚⽅法 getEditor,但是实际在使⽤时,有的也会⽤ new UE.ui.Editor() 来获得ue对象,所以在两个⽅法中都加⼊代码。

跟我学百度UEditor在线文本编辑器及应用实例——在J2EE Web应用系统中如何配置UEditor在线文本编辑器

跟我学百度UEditor在线文本编辑器及应用实例——在J2EE Web应用系统中如何配置UEditor在线文本编辑器

1.1跟我学百度UEditor在线文本编辑器及应用实例——在J2EE Web应用系统中如何配置UEditor在线文本编辑器1.1.1UEditor在线文本编辑器的浏览器前端配置相关的属性选项1、修改UEditor在线文本编辑器配置的两种方式(1)第一种方法是通过重新定义ueditor.config.js配置文件中的如下的属性选项window.UEDITOR_HOME_URL的值在引用editor_config.js文件之前,在JavaScript程序代码中需要重新设置ueditor.config.js 配置文件中的window.UEDITOR_HOME_URL变量的值为“编辑器资源文件根路径”,如下为代码示例:<script type="text/javascript">window.UEDITOR_HOME_URL = "./baiduUEditor/";</script>一般都采用网站根目录的相对路径,也就是以斜杠开头的形如"/myProject/ueditor/"这样的路径。

(2)第二种方法是在对UEditor在线文本编辑器进行对象实例化的时传入相关的属性选项的配置参数,如下为代码示例:var ue = UE.getEditor('ueditorTextAreaID', {toolbars: [['fullscreen', 'source', 'undo', 'redo', 'bold']],autoHeightEnabled: true,autoFloatEnabled: true});2、在引用UEditor在线文本编辑器的页面中重新定义window.UEDITOR_HOME_URL (1)采用相对目录路径的示例<script type="text/javascript">window.UEDITOR_HOME_URL = "./baiduUEditor/";</script><script type="text/javascript" src="./baiduUEditor/ueditor.config.js"></script><script type="text/javascript" src="./baiduUEditor/ueditor.all.min.js"></script><script type="text/javascript" charset="utf-8"src="./baiduUEditor/lang/zh-cn/zh-cn.js"></script> 注意UEDITOR_HOME_URL、config、all这三个顺序不能改变。

跟我学百度UEditor在线文本编辑器及应用实例——在J2EE Web应用系统中如何应用UEditor在线文本编辑器

跟我学百度UEditor在线文本编辑器及应用实例——在J2EE Web应用系统中如何应用UEditor在线文本编辑器

1.1跟我学百度UEditor在线文本编辑器及应用实例——在J2EE Web应用系统中如何应用UEditor在线文本编辑器1.1.1在J2EE Web应用系统中应用UEditor在线文本编辑器1、解压所下载的UEditor在线文本编辑器的系统库的压缩包如下示图为解压所下载的压缩包文件后的相关文件目录,包含有多个不同功能的子目录和相关的程序文件。

2、解压后的各个目录的相关功能说明(1)dialogs弹出对话框对应的资源和JS文件所在的目录。

(2)jsp涉及到服务器端操作的后台文件的目录,由于本文档下载的是J2EE JSP系统平台,因此为JSP目录。

(3)lang编辑器国际化显示的文件所在的目录,其中的zh-cn代表中文,而en代表英文。

(4)themesCSS样式定义的样式图片和样式文件(提供PHP、JSP和.Net三种不同的版本,涉及到不同的服务器端操作的后台文件,根据在下载时所选择的不同系统平台的版本,这里也会不同)所在的目录,本文档下载的是J2EE JSP版本。

(5)third-party第三方插件(包括代码高亮,源码编辑等组件)等程序文件所在的目录。

(6)editor_all.js用于发布版本的UEditor系统库文件。

(7)editor_all_min.jseditor_all.js文件的压缩版,建议在正式部署时才采用。

(8)editor_config.js编辑器的配置文件,建议和编辑器实例化页面置于同一目录。

(9)editor_parse.js编辑的内容显示页面引用,会自动加载表格、列表、代码高亮等样式。

(10)ueditor.parse.min.jseditor_parse.js文件的压缩版,建议在正式部署时才采用。

3、创建本示例所需要的HTML页面(1)首先就是引入两个js文件分别为editor_config.js和editor_all.js,但editor_config.js需要放在editor_all.js的前面。

ueditor使用方法

ueditor使用方法

ueditor使用方法一、概述ueditor是一个基于JavaScript的富文本编辑器,可以用于网页中的文本编辑、内容排版等功能。

本文将介绍ueditor的使用方法,包括安装、配置和常用功能的操作。

二、安装1. 下载ueditor的压缩包,解压到项目的静态资源目录下。

2. 在HTML页面中引入ueditor的核心文件和配置文件,如:```<script type="text/javascript" src="ueditor/ueditor.config.js"></script><script type="text/javascript" src="ueditor/ueditor.all.min.js"></script>```3. 创建一个textarea元素,用于ueditor的实例化:```<textarea id="editor" name="content" style="width:100%;height:300px;"></textarea>```4. 在JavaScript中实例化ueditor编辑器:```var editor = UE.getEditor('editor');```三、配置1. ueditor的配置可以通过修改ueditor.config.js文件来实现。

2. 可以根据实际需求,调整编辑器的工具栏按钮、菜单项、字体、颜色等样式。

3. 配置文件中还可以设置上传图片、视频等媒体文件的服务器地址和路径。

4. 可以通过配置文件中的事件监听函数,实现自定义的操作和处理逻辑。

四、常用功能1. 文本编辑:ueditor提供了常见的文本编辑功能,如加粗、斜体、下划线、删除线等。

vue集成百度UEditor富文本编辑器使用教程

vue集成百度UEditor富文本编辑器使用教程

vue集成百度UEditor富⽂本编辑器使⽤教程在前端开发的项⽬中,难免会遇到需要在页⾯上集成⼀个富⽂本编辑器。

那么,如果你有这个需求,希望可以帮助到你。

vue是前端开发者所追捧的框架,简单易上⼿,但是基于vue的富⽂本编辑器⼤多数太过于精简。

于是我将百度富⽂本编辑器放到vue项⽬中使⽤。

效果图如下废话不多说。

1、使⽤vue-cli构建⼀个vue项⽬。

然后下载UEditor源码,把项⽬复制到vue项⽬的static⽂件下。

⽬的是让服务可以访问到⾥⾯的⽂件,打开UEditor⽬录⽂件。

这⾥下载的是jsp版本的。

⽂件名字没有更改过。

打开⾥⾯的ueditor.config.js⽂件找到serverUrl把这⾏代码注释了。

这个代码是⽤来上传图⽚的后台地址。

如果不注释了会请求报错。

编辑器跑起来再做服务配置修改地址。

2、在.vue⽂件中引⼊主要js⽂件import ‘../../static/utf8-jsp/ueditor.config'import ‘../../static/utf8-jsp/ueditor.all';import ‘../../static/utf8-jsp/lang/zh-cn/zh-cn';3、在data中申明⼀个变量存储UEditor的实例⽅便在vue的其他地⽅使⽤,然后申明⼀个变量存储⼿动获取的编辑器⾥⾯的内容,再什么⼀个变量存储初始化时要写⼊编辑器的内容。

三个变量。

如果操作得当。

可以减少变量的时候。

这是笨办法4、在vue的mounted钩⼦函数中调⽤编辑器的⽅法⽣成实例存储到刚刚申明的变量中,在实例中传⼊参数。

第⼀个是id,id是⽣成编辑器的div的id。

第⼆个参数是⼀个对象。

对象内容是对编辑器的配置。

如资源访问路径,toolbars内容配置。

5、在html部分写⼀个div标签<div id="editor" type="text/plain" style="width:1024px;height:500px;"></div>6、然后配置资源路径。

ueditor使用指南

ueditor使用指南

ueditor使用指南
UEditor是一个基于JavaScript的所见即所得富文本web编辑器,它具有丰富的功能和灵活的定制选项,可以满足各种网页编辑
需求。

下面我将从安装、基本功能、高级功能和定制化等多个角度
来向你介绍UEditor的使用指南。

首先,安装UEditor非常简单。

你只需要下载UEditor的源文件,然后在你的网页中引入UEditor的js和css文件即可开始使用。

UEditor还提供了丰富的配置选项,你可以根据自己的需求进行定
制化配置。

UEditor的基本功能包括文字编辑、插入图片、插入链接、插
入表格、插入视频等,这些功能都可以通过简单的操作实现。

除此
之外,UEditor还支持撤销、重做、全屏编辑、源码编辑等常见的
编辑器功能。

在高级功能方面,UEditor提供了丰富的API接口,可以让开
发者根据自己的需求进行扩展和定制。

比如,你可以通过API来实
现自定义的插入功能、自定义的编辑器菜单等。

此外,UEditor还
支持图片上传、文件上传等功能,开发者可以通过配置后端接口实
现图片和文件的上传功能。

最后,UEditor还支持丰富的定制化选项,你可以通过配置文
件来定制编辑器的工具栏、菜单、插件等,以及编辑器的样式和皮肤。

这样可以让UEditor更好地融入到你的网站中,满足你的个性
化需求。

总的来说,UEditor是一个功能丰富、灵活定制的web编辑器,通过本指南的介绍,你可以更好地了解UEditor的基本使用方法和
高级功能,希望对你有所帮助。

ueditor编码

ueditor编码

ueditor编码
UEditor 是一款基于 JavaScript 的所见即所得(WYSIWYG)富文本编辑器,可用于在网页中实现富文本内容的编辑和展示。

UEditor 支持多种编码方式,包括 UTF-8、GBK、GB2312 等。

编码是指将字符转换为字节序列的过程,用于在计算机中存储和传输文本数据。

在 UEditor 中,通过设置编辑器实例的配置参数,可以指定所使用的编码方式。

例如,在实例化 UEditor 编辑器时,可以通过修改配置项来设置编码:
```javascript
var editor = UE.getEditor('editor', {
charset: 'utf-8' // 设置编码为 UTF-8
});
```
上述代码中,通过将 `charset` 参数设置为 `'utf-8'`,指定了编辑器使用 UTF-8 编码。

需要注意的是,默认情况下 UEditor 使用 UTF-8 编码,如果您的网页和服务器端使用的是其他编码方式(如 GBK),则需要进行相应的配置。

此外,UEditor 还提供了一些其他编码相关的配置选项,如`sourceEditor.charset`、`catchRemoteImageEnable` 等,根据具体需求可进行相应的配置。

请根据您的具体需求和环境,参考 UEditor 的官方文档或进行相应的配置来设置合适的编码方式。

PHP如何搭建百度Ueditor富文本编辑器

PHP如何搭建百度Ueditor富文本编辑器

PHP如何搭建百度Ueditor富⽂本编辑器本⽂为⼤家分享了PHP搭建百度Ueditor富⽂本编辑器的⽅法,供⼤家参考,具体内容如下下载UEditor官⽹:将下载好的⽂件解压到thinkphp项⽬中,本⽂是解压到PUBLIC⽬录下并改⽂件夹名称为ueditor第⼀步引⼊javascript在html中如⼊下⾯的js语句引⼊相关⽂件<script type="text/javascript" charset="utf-8" src="__PUBLIC__/ueditor/ueditor.config.js"></script><script type="text/javascript" charset="utf-8" src="__PUBLIC__/ueditor/ueditor.all.js"></script>第⼆步添加textare⽂本域并设置id值<textarea type="text" name="content" id="EditorId" placeholder="请输⼊内容"></textarea>第三步初始化UEditor编辑器在html代码中添加下⾯的代码初始化UEditor编译器<script type="text/javascript" charset="utf-8">//初始化编辑器window.UEDITOR_HOME_URL = "__PUBLIC__/ueditor/";//配置路径设定为UEditor所放的位置window.onload=function(){window.UEDITOR_CONFIG.initialFrameHeight=600;//编辑器的⾼度window.UEDITOR_CONFIG.initialFrameWidth=1200;//编辑器的宽度var editor = new UE.ui.Editor({imageUrl : '',fileUrl : '',imagePath : '',filePath : '',imageManagerUrl:'', //图⽚在线管理的处理地址imageManagerPath:'__ROOT__/'});editor.render("EditorId");//此处的EditorId与<textarea name="content" id="EditorId">的id值对应 </textarea>}</script>第四步设置图⽚上传路径UEditor编辑器的默认图⽚上传路径是根⽬录下/ueditor/php/upload/image/⽬录,没有这个⽬录会⾃动创建,如果要⾃定义图⽚上传路径,可以在ueditor/php/config.json⽂件中12⾏处修改。

跟我学百度UEditor在线文本编辑器及应用实例——UEditor在线文本编辑器功能特性及官方技术文档

跟我学百度UEditor在线文本编辑器及应用实例——UEditor在线文本编辑器功能特性及官方技术文档

1.1跟我学百度UEditor在线文本编辑器及应用实例——UEditor在线文本编辑器功能特性及官方技术文档1.1.1UEditor在线文本编辑器功能特性及官方技术文档1、UEditor在线文本编辑器功能特性UEditor是一个开源免费的Web方式下的富文本编辑器(Rich Text Editor,简称RTE),而Web方式下的富文本编辑器其实也就是一种可内嵌于浏览器页面,并且实现所见即所得编辑功能的文本编辑器。

UEditor是由百度Web前端研发部开发并发布的一款所见即所得的富文本Web编辑器。

具有轻量、可定制和注重用户体验等技术特点,而且开源基于BSD协议,允许自由使用和修改代码。

UEditor在线文本编辑器官方网站上介绍的相关功能特性如下:如下示例图为应用UEditor在线文本编辑器所编辑的一篇新闻稿件的局部截图:2、官方网站/website/(1)官方网站地址读者可以在UEditor在线文本编辑器官方网站上(/website/)下载与UEditor相关的系统库文件。

(2)系统库下载页面的网址/website/download.html在UEditor在线文本编辑器官方网站上为开发人员提供了中文“UTF-8”和“GBK”两种不同的中文编码版本的下载链接,而且分为完整版和Mini定制版。

由于目前的Web应用系统开发平台有多种不同的语言形式,因此也为开发人员提供了PHP、ASP、和JSP等不同平台的版本。

开发人员然后根据自己的Web应用系统的开发平台选择不同版本的下载包。

本文下载JSP版本。

另外,还提供其它的资源文件,读者可以根据应用的需要选择性地下载。

3、UEditor在线文本编辑器在线Demo示例4、UMeditor(满足论坛系统的发帖框或回复框的应用需求在线文本编辑器)在线Demo示例5、UEditor在线文本编辑器提供在线入门帮助参考文档Ueditor提供了功能说明文档和使用说明文档。

常用HTML富文本编辑器

常用HTML富文本编辑器

常⽤HTML富⽂本编辑器常⽤的HTML富⽂本编译器UEditor、CKEditor、TinyMCE、HTMLArea、eWebEditor、KindEditor简介这篇⽂章主要介绍了常⽤的HTML富⽂本编译器UEditor、CKEditor、TinyMCE、HTMLArea、eWebEditor、KindEditor简介,需要的朋友可以参考下1、UEditorUEditor是由百度web前端研发部开发所见即所得富⽂本web编辑器,具有轻量,可定制,注重⽤户体验等特点,开源基于BSD协议,允许⾃由使⽤和修改代码...主要特点:轻量级:代码精简,加载迅速。

定制化:全新的分层理念,满⾜多元化的需求。

采⽤三层架构:1. 核⼼层:为命令层提供底层API,如range/selection/domUtils类。

2. 命令插件层:基于核⼼层开发command命令,命令之间相互独⽴。

3. 界⾯层:为命令层提供⽤户使⽤界⾯。

满⾜不同层次⽤户的需求。

浏览器兼容兼容Mozilla, MSIE, FireFox, Maxthon,Safari 和Chrome,实现浏览器⽆差别化。

注重细节统⼀不同浏览器下表格选取⽅式。

提供⿊/⽩名单的过滤机制。

更好的word⽀持,实现粘贴转换机制。

稳定性经过专业的QA团队测试,通过上千个测试⽤例,包括⾃动化⽤例和⼿动⽤例,⽬前仍然在不断完善中。

2、CKEditorCKEditor是新⼀代的,是⼀个重新开发的版本。

CKEditor是全球最优秀的⽹页在线⽂字编辑器之⼀,因其惊⼈的性能与可扩展性⽽⼴泛的被运⽤于各⼤⽹站。

可配合使⽤的扩展有在线演⽰:3、TinyMCETinyMCE是⼀个轻量级的基于浏览器的所见即所得编辑器,⽀持⽬前流⾏的各种浏览器,由JavaScript写成。

功能配置灵活简单(两⾏代码就可以将编辑器嵌⼊⽹页中),⽀持AJAX。

另⼀特点是加载速度⾮常快,如果你的服务器采⽤的脚本语⾔是 PHP,那还可以进⼀步优化。

UEditor富文本编辑器整合经验分享

UEditor富文本编辑器整合经验分享

UEditor富文本编辑器整合经验分享UEditor富文本编辑器整合经验分享 (1)第 1 章引言 (1)第 2 章官方DEMO (3)第 3 章动手整合UEditor (5)第 1 章引言前段时间开发邮件模块需要使用到一款富文本编辑器,综合考察之后选择了UEditor——百度的富文本编辑器。

在整合到项目的过程中,遇到了不少问题,困扰了不少时间,在整合过程中也参考了不少前辈们的文章收获良多,本文主要是谈谈自己在整合过程中遇到各种问题(或者网上甚少提到的)及UEditor自己的一些内部瑕疵,做为经验分享给大家,希望大家在以后的整合过程中避免可能会重复陷入的坑提供一些帮助和提醒。

UEditor工具条UEditor功能展示UEditor是一款功能相对比较强大的前端富文本编辑器,支持四种后台语言环境,比如php,asp,,jsp。

UEditor是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。

百度官方UEditor文档及下载地址为百度UEditor官网上,可以查看并下载UEditor源码,初始了解UEditor功能及体验。

由于ueditor开发组是一个前端团队,而对后端实力较欠缺(官方原话),笔者在整合过程中发现其对后台的处理还有些瑕疵(比如图片上传及回显处理或文件上传及下载处理),特别是没有具体前后台交互的实际案例(能让开发者在本地实际运行的DEMO)开发者实际调试成功,便能快速地掌握前后台交互的机制。

下图为百度FEX团队的对后端部署的说明第 2 章官方DEMO官方下载地址/website/download.html本文以JSP版本为例下载UTF-8版本并解压用浏览器打开index.html看到demo界面,兴奋了一阵子,然而涉及到后台交互的功能(如图片文件上传),暂时是不能用的,按F12查看浏览器控制台发现有错误由于官方demo没有后台代码的实际支撑,所以实际整合过程中会遇到各种问题,或许一时没有头绪,如果有一个实际能运行的案例就好了。

ueditor的介绍 -回复

ueditor的介绍 -回复

ueditor的介绍-回复Ueditor是一款功能强大的富文本编辑器,旨在为开发者提供灵活可定制的编辑器解决方案。

作为一款开源的编辑器,Ueditor被广泛应用于网页开发,为用户提供了丰富多样的编辑功能,包括文本样式编辑、图片、音视频等多媒体编辑等功能,使用户可以方便地编辑和展示各类文档内容。

一、Ueditor的基本功能简介1. 文本编辑功能:Ueditor提供了全面的文本编辑功能,包括文本的格式化、字体、颜色、大小等样式设置,支持多种编辑模式,如富文本模式、源代码模式,方便开发者进行编辑和排版。

2. 图片编辑功能:Ueditor支持用户插入和编辑图片,提供了图片上传、裁剪、旋转、缩放等多种图片编辑功能,使用户可以更好地适应不同的展示场景。

3. 多媒体编辑功能:Ueditor支持插入和编辑音视频等多媒体元素,提供了丰富的媒体编辑功能,包括视频播放、音频控制等,使用户可以在编辑器内直接预览和调整媒体元素。

4. 插件扩展功能:Ueditor支持插件的扩展和自定义,用户可以根据自己的需求,开发和集成各类插件,满足特定的编辑需求。

5. 编辑器样式定制:Ueditor提供了多种编辑器外观样式的定制化选项,用户可以根据网站的整体风格和设计需求,自定义编辑器的样式和布局,实现更好的界面一致性。

二、Ueditor的应用场景1. 网页编辑器:Ueditor是一款轻量级的富文本编辑器,适用于各类网站的文本编辑需求,如新闻编辑、博客发布、电商商品描述等。

借助Ueditor 的多样化编辑功能,开发者可以方便地实现各类文本排版和格式化需求,为用户提供更加丰富的编辑体验。

2. 在线论坛/社区编辑器:Ueditor适用于在线论坛和社区的文章编辑需求,开发者可以借助Ueditor提供的丰富功能,帮助用户进行帖子编写、回复内容编辑等操作。

同时,Ueditor还支持HTML代码的插入和编辑,方便用户在论坛中展示代码片段、外部链接等。

几种知名开源富文本编辑器记录和对比(仅供参考)

几种知名开源富文本编辑器记录和对比(仅供参考)

⼏种知名开源富⽂本编辑器记录和对⽐(仅供参考)1、UEditor 百度的。

优点:插件多,基本满⾜各种需求,类似贴吧中的回复界⾯。

缺点:不再维护,⽂档极少,使⽤并不普遍,图⽚只能上传到本地服务器,如果需要上传到其他服务器需要改动源码,较为难办,加载速度慢。

总结:⼩项⽬,可以⽤⽤,不推荐使⽤。

2、kindeditor界⾯类似百度,效果很像⽂档齐全但⽤例较少,使⽤还算⽅便。

缺点:总感觉样⼦不是很好看,没有现代那种风格,还是⽼式的传统图标。

3、simditor样式好看,插件不多,基本满⾜需求⽂档英⽂,使⽤较为吃⼒,如果英⽂⽔平不好的话github上⾯开源,维护较好因为⽂档看起来吃⼒,所以本⼈没有考虑继续使⽤。

4、bootstrap-wysiwyg利⽤bootstrap实现的,简洁⼤⽅好看。

优点:轻量,好看,使⽤⽅便。

缺点:需要⼀定的浏览器⽀持,毕竟需要bootstrap5、wangEditorjs和css实现优点:轻量简洁,最重要的是开源且中⽂⽂档齐全。

设计的UI漂亮。

插件基本能满⾜需求,本⼈推荐使⽤。

6、CKEditor功能强⼤,使⽤较多,可以看他们官⽹的例⼦,马上就有感觉。

优点:编辑能⼒极强,基本和word差不多了。

看起来界⾯极其优秀的⼀款。

缺点:⽹站访问速度⼀般,⽂档英⽂,需要花时间开发。

7、tinymce⽀持图⽚在线处理,插件多,功能强编辑能⼒优秀,界⾯好看。

同样⽂档为英⽂,开发需要花时间。

使⽤之前需要考虑的点:1需要插件,是否需要很多的插件,还是说简单的那些功能就⾏了。

2界⾯考虑,看你喜欢那个界⾯了。

3图⽚是否需要上传图⽚服务器。

4⽂档如果为英⽂是否会影响开发。

5⽀持浏览器类型和版本。

vue中使用ueditor富文本编辑器

vue中使用ueditor富文本编辑器

vue中使⽤ueditor富⽂本编辑器最近在做后台管理系统的时候遇到要使⽤富⽂本编辑器。

最后选择了ueditor,我的项⽬使⽤ vue+vuex+vue-router+webpack+elementUI 的⽅案完成框架的搭建,1、下载UEditor官⽹最新的jsp版本的包,下载完成解压之后得到⼀个utf8-jsp的⽂件夹,⾥⾯包含的内容如下:2、将这个⽂件夹改名为ueditor,并且移⼊⾃⼰项⽬中的static⽂件夹下,修改ueditor.config.js⽂件夹中的内容,如下图:3、编写⼦组件<template><div :id="id" type="text/plain"></div></template><script>import '../../../static/ueditor/ueditor.config.js'import '../../../static/ueditor/ueditor.all.min.js'import '../../../static/ueditor/lang/zh-cn/zh-cn.js'import '../../../static/ueditor/ueditor.parse.min.js'export default {name: 'UE',data() {return {editor: null}},props: {defaultMsg: {type: String,default: '请输⼊内容'},config: {type: Object},id: {type: String,default: `ue${Math.random(0, 100)}`}},mounted() {this.$nextTick(() => {this.editor = UE.getEditor(this.id, this.config); // 初始化UE this.editor.addListener("ready", () => {this.editor.execCommand('insertHtml', this.defaultMsg); this.editor.focus() // 确保UE加载完成后,放⼊内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

百度编辑器 UEditor
演示地址:/website/onlinedemo.html Ueditor 是由百度 web 前端研发部开发所见即所得的编辑器,具有轻量,可定制,注重 用户体验等特点。

Ueditor 基于 BSD 开源协议,除了具有代码精简、加载迅速的轻量级特质 外,还采用了分层理念,使开发者可以根据实际应用和需求自由定制。

Ueditor 编辑器划分为了三层架构。

其中,核心层为开发者提供了诸如 range、 selection、 domUtils 类的底层 API 接口, 中间的命令插件层不仅提供了大量的基础 command, 还允许开发者基于核心层进行 command 命令的开发, 而面向用户端的界面层则可以提供自由 定制的用户交互界面。

Ueditor 开源编辑器这种拥有可配性的模式,令开发者能够根据自身 需要接入任何一层进行开发。


完整版的部署与体验
一、官网上下载完整源码包,解压到任意目录,解压后的源码目录结构如下所示: _examples:编辑器完整版的示例页面 _demos:编辑器的各种使用案例 dialogs:弹出对话框对应的资源和 JS 文件 themes:样式图片和样式文件 server:涉及到服务器端操作的 PHP、JSP 等文件 third-party:第三方插件 editor_all.js:_src 目录下所有文件的打包文件 editor_all_min.js:editor_all.js 文件的压缩版,建议在正式部署时才采用 editor_config.js:编辑器的配置文件,建议和编辑器实例化页面置于同一目录 二、部署 UEditor 到实际项目(UETest)中的步骤:
图表 1 第一步:在项目的任一文件夹中建立一个用于存放 UEditor 相关资源和文件的目录,此


处在项目根目录下建立,起名为 ueditor。


第二步:拷贝源码包中的 dialogs、themes、third-party、editor_all.js 和 editor_config.js 到 ueditor 文夹中。

其中,除了 ueditor 目录之外的其余文件均为具体项目文件,此处所列仅供 示例。

第三步:为简单起见,此处将以根目录下的 index.jsp 页面作为编辑器的实例化页面,用 来展示 UEditor 的完整版效果。

在 index.jsp 文件中,首先导入编辑器需要的三个入口文件, 示例代码如下: <HEAD> <SCRIPTtype=text/javascriptsrc="ueditor/editor_config.js"></SCRIPT> <SCRIPTtype=text/javascriptsrc="ueditor/editor_all.js"></SCRIPT> <LINKrel=stylesheethref="ueditor/themes/default/ueditor.css"> 第四步:然后在 index.jsp 文件中创建编辑器实例及其 DOM 容器。

具体代码示例如下: <DIVid=myEditor></DIV> <SCRIPTtype=text/javascript> var editor = new baidu.editor.ui.Editor(); editor.render("myEditor"); </SCRIPT> 最后一步: 在/UETest/ueditor/ editor_config.js 中查找 URL 变量配置编辑器在你项目中 的路径。

//强烈推荐以这种方式进行绝对路径配置 URL= window.UEDITOR_HOME_URL||"/UETest/ueditor/"; 至此,一个完整的编辑器实例就已经部署到咱们的项目中了!在浏览器中输入 http://localhost/UETest 运行下试试 UE 强大的功能吧!
三、注意事项 1.在引用 editor_config.js 时,最好先于 editor_all.js 加载,否则特定情况下可能会出现报 错。

2.若希望给编辑器赋初值,请将上面描述 index.jsp 的 div 换成初始内容 3. 需要注意的是编辑器资源文件根路径。

它所表示的含义是: 以编辑器实例化页面为当 前路径,指向编辑器资源文件(即 dialog 等文件夹)的路径。

鉴于很多同学在使用编辑器的 时候出现的种种路径问题,此处强烈建议大家使用"相对于网站根目录的相对路径"进行配 置。

"相对于网站根目录的相对路径"也就是以斜杠开头的形如"/UETest/ueditor/"这样的路径。

此外如果你使用的是相对路径,例如"ueditor/"(相对于图表1路径结构) 如果站点中有多个不在同一层级的页面需要实例化编辑器,且引用了同一 UEditor 的时 候,可能不适用于每个页面的编辑器。

因此,UEditor 提供了针对不同页面的编辑器可单独 配置的根路径,具体来说,在需要实例化编辑器的页面最顶部写上如下代码即可。




当 然 , 需 要 令 此 处 的 URL 等 于 对 应 的 配 置 。

window.UEDITOR_HOME_URL ="/xxxx/xxxx/";
自定义配置
UEditor 除了具有功能强大、可定制等优点外,还始终将优化编辑操作、提升用户体验 摆在了很重要的位置。

在这一点上,除了对编辑器功能、性能、实现细节等不断地改进和追 求创新之外,众多灵活而个性化的自定义配置也充分体现了这个特点。

通过修改配置,用户 几乎可以完全地改变编辑器的外观和行为。

从配置本身的优先级来看,UEditor 的配置可以分为系统默认配置和用户自定义配置两 种类型。

系统默认配置分散在各个对应的核心或者插件文件之中,对用户不可见。

当用户注释掉 自定义配置时起作用。

用户自定义配置包括两种类型,一种位于 editor_config.js 文件之中,优先级高于系统默 认配置;另一种位于实例化编辑器时传入的参数中,优先级最高。

默认情况下,UEditor 在 editor_congfig.js 注释掉了所有可以省略的配置项,采用系统默 认配置, 若取消注释, 则以该配置项为准; 未注释的配置项要求用户必需按照项目实际填写。

配置文件中,有很详细的注解和例子,这里就不写了.
增加一个普通按钮
下面就让我们从最简单的功能开始 UEditor 的二次开发之旅: 在工具栏上增加一个按钮, 点击按钮的时候出现一个 alert 提示。

第一步:找到 editor_congfig.js 文件中的 toolbars 参数,增加一个“showmsg”字符串,对 应着添加一个 labelMap,用于鼠标移上按钮时的提示。


toolbars:[ [...,'searchreplace','help','showmsg'] ], labelMap:{ ..., 'help':'帮助', 'showmsg':'显示提示消息' }
第二步:找到根目录下的 editor_all.js 文件中的
btnCmds
数组,在其中同样增加一


个“showmsg”字符串。

第三步:清空缓存刷新下页面吧!工具栏的对应位置是否出现了一个自己定义的按钮 呢?如下图所示:
第四步:找到 themes/default/ueditor.css 文件,增加一条样式定义:
.edui-for-showmsg .edui-icon{ background-position:-700px-40px; }
完成后刷新浏览器,可以看到此时图标已经显示为如下图所示:
此 处 的 样 式 定 义 了 showmsg 图 标 在 UEditor 默 认 的 精 灵 Icon 图 片 (themes/default/images/icons.png)中的位置偏移。

如需更改成另外图标,只需添加图标到 该图片文件中,然后设置偏移值即可。

第五步:到此为止,在 UI 层面已经完成了一个工具栏图标的显示和各种状态变化的逻 辑,但是我们发现点击按钮之后毫无反应。

那是必然的,我们还必须为该按钮绑定属于它自 己的事件处理方法。

实质上,此时一个默认的事件处理方法已经被 UEditor 绑定到按钮上了,只不过由于我 们还没有定义该方法的具体内容,所以点击之后无任何变化。

下面我们就来定义该方法的具体内容: 找到根目录下的 editor_all.js 文件,然后在该文件最后输入如下代码:
mands['showmsg'] = { execCommand :function(){ alert("Hello,UE developer!"); }


}; 也可以在加载编辑器的页面上加入上面代码同样可以弹出警告 框;
再次刷新页面点击一下按钮吧!











相关文档
最新文档